1

現時点では、これを使用して Android アプリで QR コードを生成および表示しています。

    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 コードのサイズを決定し、常に鮮明に見えるようにしたいと考えています。

私はこれで間違ったアプローチを取っていますか? もっと速い方法はありますか?

4

1 に答える 1