2012-01-14 13 views

答えて

4

android/のzxingソースコードを見てください。 .encodeパッケージには、AndroidでQRコードを正確にエンコードする方法の例があります。はい、使用できません。BufferedImageを使用する必要はありません。

+0

これで、QRコードを正常にエンコードし、Androidアプリケーションに送信しました。その後、BitMapオブジェクトとして取得します。今私はそれをどのようにデコードするのですか? – user477519

+1

'Detector'と' Decoder'の '.qrcode'パッケージを見ることができます。しかし、情報をエンコードして別のアクティビティに送信し、それをデコードするのであれば、元のデータを送信するだけではないのですか? –

+0

@SeanOwenこれはどのテキストでも機能しますが、URLをエンコードしたい場合は、同じintent.putExtra(Intents.Encode.TYPE、Contents.Type.TEXT)を使用する必要があります。 URL – Erum

0

最も簡単な方法はgoogle charts APIです。それはあなたにpngファイルを与えるシンプルな休憩APIです。あなたのアプリケーションがインターネットを必要としないようにするには、あなたの手でもっと多くの作業ができますが、それはできます。 com.google.zxing.qrcode.encoderはあなたのQRを生成するクラスです。私はそれらの使い方を決して正確に理解できませんでしたが、QRを表す行列が返されると思います。キャンバスなどに描画する方法を考えなければなりません。

+0

おかげでティム。しかし、私のアプリケーションがインターネットアクセスを必要としないようにしたい。だから私に有用なURLを教えてもらえますか? – user477519

8

次のように私は、これは上記のリソースを使用して便利http://codeisland.org/2013/generating-qr-codes-with-zxing/

であることが判明し、私はユーティリティメソッドを作成しました:

public static Bitmap encodeToQrCode(String text, int width, int height){ 
    QRCodeWriter writer = new QRCodeWriter(); 
    BitMatrix matrix = null; 
    try { 
     matrix = writer.encode(text, BarcodeFormat.QR_CODE, 100, 100); 
    } catch (WriterException ex) { 
     ex.printStackTrace(); 
    } 
    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, matrix.get(x,y) ? Color.BLACK : Color.WHITE); 
     } 
    } 
    return bmp; 
} 
+0

@Steve Paulは、提供されたユーザーの文字列e/g(123 + ghnn-ggg)のビットマップを作成します – Erum

+0

こんにちはErum、はい私のアプリケーションでそれを使用しました。それは動作するはずです。 –

関連する問題