创建二维码并在 ImageView 中显示

Bal*_*SKT 5 android qr-code zxing

我正在创建一个能够扫描二维码并创建二维码的应用程序。扫描部分已完成并且工作正常。但是,当我尝试创建 QR 码并在 ImageView 中显示它时,创建的 QR 码不包含正确的文本。我正在使用 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);
Run Code Online (Sandbox Code Playgroud)

Mob*_*per 3

错误出在for循环中。你错过了一个内部 for 循环。但为什么你得到的是空白图像!

使用下面的代码片段。

for (x = 0; x < width; x++){
    for (y = 0; y < height; y++){
        bmp.setPixel(x, y, bitMatrix.get(x,y) ? Color.BLACK : Color.WHITE);
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该有效。