0

ここにあるQRCode APIを使用しています

Apiを介してQRCode生成を正常に実装しましたが、結果はこれです

ここに画像の説明を入力

(質問するために、色を白から黄色に変更しました)

ですから、外側の境界が非常に厚いことがわかった場合は、薄くしたいと思います..このように

ここに画像の説明を入力

qrcodeを生成して色を変更するために使用したコードはこれです

public boolean writeImage(String qrMessageForGeneratingQRCode,String filename){

    boolean result = false;

    try{
        int length = 200;
        int breadth = 200;
        BufferedImage originalQRCodeBufferedImage = ImageIO.read(new ByteArrayInputStream(QRCode.from(qrMessageForGeneratingQRCode).withSize(length,breadth).stream().toByteArray()));
        BufferedImage changedQRCodeBufferedImage = new ColorChanger().changeColor(originalQRCodeBufferedImage, Color.WHITE, new Color(255,202,0));
        ImageIO.write(changedQRCodeBufferedImage,FilesUtil.getProperty("QR_CODE_IMAGE_FORMAT") , new File(filename));
        result = true;
    }catch(Exception ex){
        ex.printStackTrace();
        result = false;
    }

    return result;
}

コードを使用してそれを達成する方法を教えてください....よろしくお願いします.... Ankur

4

2 に答える 2

2

QR コードの周囲のクワイエット ゾーンは 4 モジュールである必要があります。これを減らしたくありません。提案された画像はスキャンが難しくなります。

簡単なクロップを使用して、後からいつでも BufferedImage を編集できます。

BufferedImage crop = original.getSubimage(50, 50, original.getWidth() - 2*50, original.getHeight() - 2*50);

ところで、ソリューションで使用されている基盤となる zxing ライブラリを少なくとも 2.0、おそらく 2.1-SNAPSHOT に更新する必要があります。1.7は古いです。

于 2012-08-09T07:55:09.360 に答える
0

明白な答えは、lengthとのbreadth値を減らすことです。あなたはそれを試しましたか?

于 2012-08-09T07:20:23.617 に答える