目前我正在使用它在我的 android 应用程序中生成和显示我的二维码:
try {
BitMatrix bm = qrwriter.encode(b.toString(), BarcodeFormat.QR_CODE,
QRCODE_WIDTH, QRCODE_HEIGHT);
final Bitmap mBitmap = Bitmap.createBitmap(bm.getWidth(),
bm.getHeight(), Bitmap.Config.ARGB_4444);
for (int i = 0; i < QRCODE_HEIGHT; i++) {
for (int j = 0; j < QRCODE_WIDTH; j++) {
mBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK
: Color.WHITE);
}
}
runOnUiThread(new Runnable() {
@Override
public void run() {
imgqrcode.setImageBitmap(mBitmap);
}
});
} catch (WriterException e) {
}
它工作正常,但使用该嵌套循环非常慢。我必须设置非常小QRCODE_WIDTH
的QRCODE_HEIGHT
值(在高 dpi 设备上生成非常模糊的图像)才能让它在合理的时间内生成。理想情况下,我想获得设备的分辨率并以此为基础确定 QR 码的大小,这样它看起来总是很清晰。
我对此采取了错误的方法吗?有更快的方法吗?