我正在尝试生成与WhatsAppWeb中使用的QR码类似的QR码,其中心带有徽标。
我正在使用 'androidmads.library.qrgenearator:QRGenearator:1.0.3' 库,并且正在使用以下代码生成QR码。>
number_of_enrollments
如何将图像添加到QR码?
答案 0 :(得分:0)
您尝试过使用ZXing,它是一个非常酷的QR代码库,类似的东西,这是我前一段时间做的方法:
//generate and set QR code
ImageView imgQRCode = (ImageView) findViewById(R.id.imgQRCode);
try {
Bitmap qr = encodeAsBitmap("Any String HERE");
if(qr != null)
imgQRCode.setImageBitmap(qr);
else {
//Do whatever based on your logic
//Toast.makeText(Prompt_ViewQRActivity.this, "Error message", Toast.LENGTH_LONG).show();
//finish();
}
} catch (Exception e) {
}
然后是“ encodeAsBitmap”方法
Bitmap encodeAsBitmap(String str) throws WriterException {
BitMatrix result;
try {
result = new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, 300, 300, null);
} catch (IllegalArgumentException iae) {
// Unsupported format
return null;
}
int w = result.getWidth();
int h = result.getHeight();
int[] pixels = new int[w * h];
for (int y = 0; y < h; y++) {
int offset = y * w;
for (int x = 0; x < w; x++) {
pixels[offset + x] = result.get(x, y) ? Color.BLACK : Color.WHITE;
}
}
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, 300, 0, 0, w, h);
return bitmap;
}