Android Qr代码生成

时间:2012-10-29 11:32:55

标签: android qr-code

为数字生成Android二维码

com.google.zxing.Writer writer = new UPCAWriter();
String finaldata = Uri.encode(data, characterEncoding);
BitMatrix bm = writer.encode(finaldata, mBarcodeFormat, bitmapWidth,bitmapHeight);
ImageBitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight,Config.ARGB_8888);

for (int i = 0; i < bitmapWidth; i++) {
for (int j = 0; j < bitmapHeight; j++) {
    ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK: Color.WHITE);
}

}

1 个答案:

答案 0 :(得分:2)

试试这个

public void generateQRCode_general(String data, ImageView img)throws WriterException {
    com.google.zxing.Writer writer = new QRCodeWriter();
    String finaldata = Uri.encode(data, characterEncoding);

    BitMatrix bm = writer.encode(finaldata, BarcodeFormat.QR_CODE,bitmapWidth, bitmapHeight);
    ImageBitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight,Config.ARGB_8888);

    for (int i = 0; i < bitmapWidth; i++) {
        for (int j = 0; j < bitmapHeight; j++) {
            ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK: Color.WHITE);
        }
    }

    if (ImageBitmap != null) {
        img.setImageBitmap(ImageBitmap);
    } else {
        Toast.makeText(activity,"Uable to setImageBitmap \n ImageBitmap is NULL",Toast.LENGTH_LONG).show();
    }
}

for Numbers使用此

com.google.zxing.Writer writer = new UPCAWriter();
String finaldata = Uri.encode(data, characterEncoding);
    BitMatrix bm = writer.encode(finaldata, mBarcodeFormat, bitmapWidth,bitmapHeight);
    ImageBitmap = Bitmap.createBitmap(bitmapWidth, bitmapHeight,Config.ARGB_8888);

    for (int i = 0; i < bitmapWidth; i++) {
        for (int j = 0; j < bitmapHeight; j++) {
            ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK: Color.WHITE);
        }
    }

UPCA限制为12个数字