gpt4 book ai didi

java - 如何使用 ZXing 库以编程方式在 Android 中生成自定义二维码?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:00 31 4
gpt4 key购买 nike

我正在使用 Journeyapp's ZXing Android Embedded library对于我的 Android 应用程序,我可以使用以下代码生成一个简单的二维码

 private void init() {

ImageView qrImageView = (ImageView) findViewById(R.id.qr_image_view);

qrImageView.setImageBitmap(generateQRBitMap("a"));

}

private Bitmap generateQRBitMap(final String content) {

Map<EncodeHintType, ErrorCorrectionLevel> hints = new HashMap<>();

hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.H);

QRCodeWriter qrCodeWriter = new QRCodeWriter();

try {
BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, 512, 512, hints);

int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();

Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);

for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {

bmp.setPixel(x , y, bitMatrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
}

return bmp;
} catch (WriterException e) {
e.printStackTrace();
}

return null;
}

但是,我希望能够生成像下面给出的一样酷的东西 enter image description here

现在我知道我可能必须为此编写自定义编码器,但我真的不知道从哪里开始。 BitMatrix 类总是创建方形 QR 码,但有什么东西可以用来创建奇怪的形状吗?

最佳答案

我找到了这个图书馆 QRGen使用 ZXing 并且非常易于使用。无论如何,如果您想要设计,您可以在此二维码的 ImageView 后面添加另一张图像。

生成二维码的示例代码

Bitmap myBitmap = QRCode.from("www.example.org").bitmap();
ImageView myImage = (ImageView) findViewById(R.id.imageView);
myImage.setImageBitmap(myBitmap);

关于java - 如何使用 ZXing 库以编程方式在 Android 中生成自定义二维码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42155015/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com