QR QRコードに写真を挿入します
QRコードがついに人気になりました。現在、路上や路地の大小の製品の広告に関するQRコードタグはどこにでもあり、それらのほとんどは単純な純粋なQRコードではなく、QRコードを中央に性格アイコンを備えています。
GoogleのオープンソースプロジェクトZXINGを使用してQRコードと1Rコードエンコードとデコードを実装し、ソースコード(C#で実装されたバーコードとQRコードエンコードとデコーダー)を開くプログラムを実行していました。今日、私はこのプログラムに基づいてQRコードの途中に小さな写真を追加し続けています。
背景知識
QRCodeはReed-Solomonコードを使用してバグ修正を行います。私たちにとって、リードソロモンコーディングには2つの非常に重要な特性があります。まず、これは明示的なシステムコードです。つまり、最終エンコードで元の情報を直接確認できます。 「Hello World」をエンコードすると、ついに「Hello World」とそれに続くいくつかの断層耐性コードが表示されます。第二に、リードソロモンエンコーディングは「退職」することができます。 2つの異なるReed Solomonエンコーディングの結果が計算された後、新しいReed Solomonコードが取得され、この新しいコードの元のコードは排他的または元の2つの元のコードのものです。これらの2つの機能が機能する理由を知りたい場合は、有限のフィールド算術とリードソロモンコーディングを参照してください。
qrcode
QRcode画像は、人やコンピューターをQRcodeとして識別するのに役立ついくつかの一意の記述子を定義します。この種の記述子は、QRcodeのサイズによってわずかに異なります - QRcode画像にはより多くの記述子があります。ただし、人間の認識のために、最も明白な特徴は、写真の四隅のシンボルが固定されていることです。そのような四隅を見ると、人間は本能的に反応します。これはqrcodeです。
(実際、画像の左上隅にある2つのピクセルポイントを読み取ることにより、エンコードの冗長性の程度を判断できます。黒は0、白は1です。00を見ると、Lレベルの冗長性、01はQ、11は最高のHレベル冗長性です。
上記の作業を使用すると、画像内の元のコード情報の場所を簡単に知ることができます。次に、元のコード情報を変更することにより、画像のピクセルを変更して、内部に写真を描くことができます。そうは言っても、次の状況のいくつかは物事をより面白くすることができます。
写真を挿入するためにQRコードを作成しました:
以前は、Zxingオープンソースプロジェクトを使用して変換されたコーデックをエンコードする無料の1QRコードを提供しましたが、画像の挿入に失敗しました。今回の努力の後、写真はQRコードに正常に挿入され、エンコードとデコードができました。写真を挿入するための鍵は、ソースコードで詳細に説明されているQRコードの断層トレランス係数の調整にあります。
インタフェース:
QRコードに写真を挿入して正常にデコードするには、次の2つのポイントに注意してください。
1. QRコードを設定するフォールトトレランス係数は高くなければなりません。
Zxingプロジェクトでは、QRコードが生成されると、障害トレランス係数を設定できます。
ErserCorrectionLevel.hにecodehinttype.error_correctionを設定します
// QRコードライターmultiformatwriter mutiwriter = new com.google.zxing.multifialtwriter();ハッシュテーブルhint = new Hashtable(); hint.add(encodehinttype.character_set、 "utf-8"); hint.add(encodehinttype.error_correction、com.google.zxing.qrcode.decoder.errorcorrectionlevel.h); // QRコードBYTEMATRIX BM = MUTIWRITER.ENCODE(TXTMSG.TEXT、com.google.zxing.barcodeformat.qr_code、300、300、hint); bitmap img = bm.tobitmap();
2。中央に挿入された画像のサイズと位置が適切でなければなりません。
中央の画像が大きすぎてQRコードの領域のほとんどをカバーしている場合、それは間違いなく機能しません。小さすぎる場合、パーソナライズされた効果はありません。
では、どのくらいの大きさが適切ですか?前の記事で説明したQRコードの特性によると、正方形の3つのコーナーはデータ領域であり、カバーできません。右下の角と右下の角の領域のみを覆うことができますが、大きすぎてはいけません。
テスト後、QRコードの総幅の2/7について、中央のアカウントに小さな画像サイズを持つことがより適切です。これは、画像の明確さを満たすだけでなく、QRコードの暗号化されたデータにも影響しません。
小さな写真は中央に最もよく配置されており、形状は不規則になる可能性があります。
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!