Android最簡單生成二維碼和條形碼
用于android
</div>
界面activity
package com.example.bbitmap; import android.os.Bundle; import android.app.Activity; import android.graphics.Bitmap; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; public class MainActivity extends Activity { EditText Ed; ImageView imgv,imgv1; Button bt1,bt2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Ed=(EditText) findViewById(R.id.hit); imgv=(ImageView) findViewById(R.id.imgtp); imgv1=(ImageView) findViewById(R.id.tuping); } //生成條形碼 public void btuon(View v){ Ecoad ecc=new Ecoad(imgv.getWidth(), imgv.getHeight()); try { Bitmap bitm=ecc.bitmap1(Ed.getText().toString()); imgv.setImageBitmap(bitm); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //生成二維碼 public void btuon1(View v){ Ecoad ec=new Ecoad(imgv.getWidth(), imgv.getHeight()); Bitmap bitmap; try { bitmap = ec.bitmap(Ed.getText().toString()); imgv.setImageBitmap(bitmap); imgv1.setImageResource(R.drawable.ic_launcher); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
生成二維碼工具類
package com.example.bbitmap; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.common.BitMatrix; import android.graphics.Bitmap; //繪制圖片 public class Ecoad { private int width; private int height; public Ecoad(int width,int height){ this.width=width; this.height=height; } //繪制二維碼 public Bitmap bitmap(String s) throws Exception{ //二維碼QR_CODE BarcodeFormat fomt=BarcodeFormat.QR_CODE; //編碼轉換 String a=new String(s.getBytes("utf-8"),"ISO-8859-1"); BitMatrix matrix=new MultiFormatWriter().encode(a, fomt, width, height); int width=matrix.getWidth(); int height=matrix.getHeight(); int[] pixel=new int[width*height]; for(int i=0;i<height;i++){ for(int j=0;j<width;j++){ if(matrix.get(j,i)) pixel[i*width+j]=0xff000000; } } Bitmap bmap=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888); bmap.setPixels(pixel, 0, width, 0, 0, width, height); return bmap; } //繪制條形碼 public Bitmap bitmap1(String ss) throws Exception{ //條形碼CODE_128 BarcodeFormat fomt=BarcodeFormat.CODE_128; BitMatrix matrix=new MultiFormatWriter().encode(ss, fomt, width, height); int width=matrix.getWidth(); int height=matrix.getHeight(); int[] pixel=new int[width*height]; for(int i=0;i<height;i++){ for(int j=0;j<width;j++){ if(matrix.get(j,i)) pixel[i*width+j]=0xff000000; } } Bitmap bmapp=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888); bmapp.setPixels(pixel, 0, width, 0, 0, width, height); return bmapp; } }
本文由用戶 wdl 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!