我正在创建一个能够扫描二维码并创建二维码的应用程序。扫描部分已完成且工作正常。但是当我尝试创建二维码并将其显示在 ImageView 中时,创建的二维码不包含正确的文本。我正在使用 ZXING 库。
Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new Hashtable<>();
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
QRCodeWriter qrCodeEncoder = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeEncoder.encode(myText, BarcodeFormat.QR_CODE,
200, 200, hintMap);
height = bitMatrix.getHeight();
width = bitMatrix.getWidth();
final Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (x = 0; x < width; x++){
bmp.setPixel(x, y, bitMatrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
ImageView myImage = (ImageView) findViewById(R.id.qr_code);
myImage.setImageBitmap(bmp);
最佳答案
错误在 for 循环中。你错过了一个内部 for 循环。但是你怎么得到一个空白的图像!
使用下面的代码 fragment 。
for (x = 0; x < width; x++){
for (y = 0; y < height; y++){
bmp.setPixel(x, y, bitMatrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
}
这应该有效。
关于android - 创建二维码并在 ImageView 中显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36029052/