我想在Android上使用Zxing生成QR碼。由於java.awt.image.BufferedImage未包含在Android中,因此我不確定如何在Android上創建QR碼圖像。編輯: 我不希望我的應用程序需要互聯網訪問。如何在Android上使用zxing編碼QR碼中的字符串?
回答
請看android/
下的zxing源代碼。在.encode
包中,您將看到一個如何在Android中對QR碼進行編碼的示例。是的,你不能使用,也不需要使用BufferedImage
。
最簡單的方法是google charts API。這是一個簡單的休息API,會給你一個PNG文件。如果你不希望你的應用程序需要互聯網,你可以在手上做更多的工作,但可以完成。 com.google.zxing.qrcode.encoder是將爲您生成QR的類。我從來沒有想過如何使用它們,但我認爲它會返回一個代表QR的矩陣,你必須弄清楚如何將它繪製到畫布上或其他東西。
感謝蒂姆。但我不希望我的應用程序需要訪問互聯網。那麼你能否給我推薦一些有用的網址? – user477519 2012-01-14 11:59:25
我發現這是一個有用的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;
}
@Steve Paul會創建位圖提供的用戶字符串e/g(123 + ghnn-ggg) – Erum 2015-01-26 13:01:47
嗨,Erum,是的,我已經在我的應用程序中使用它。它應該工作。 – 2015-01-26 13:05:22
- 1. 在Android上使用ZXing QR解碼
- 2. 使用zxing解碼qr碼
- 3. 需要幫助使用ZXing編碼文本到QR碼在Android
- 4. 如何在Android中使用預覽幀解碼QR使用Zxing
- 5. 使用zxing檢測QR碼
- 6. QR code使用zxing解碼圖像android
- 7. android zxing QR碼生成
- 8. 在Android中使用zxing庫解碼QR碼圖像
- 9. 使用zxing的QR碼編碼和解碼
- 10. 解碼倒置QR碼zxing
- 11. ZXing QR碼大小
- 12. ZXing可以在Android中使用加密的QR碼嗎?
- 13. 如何用Zxing 2.1庫生成QR碼?
- 14. 解碼WPF中的QR碼通過Zxing
- 15. 如何刪除側面QR碼上的空白(使用zxing)
- 16. 在QR碼上壓縮基於Guid的字符串編寫
- 17. 使用Zxing在線qr碼解碼器使用php
- 18. Android中使用ZXING庫的QR碼掃描器
- 19. 使用ZXING庫生成Qr代碼
- 20. zxing QR解碼返回null
- 21. zxing QR代碼掃描器
- 22. ZXing只識別QR碼
- 23. 如何在Android中使用Base64對字符串進行編碼?
- 24. 在Android上使用QR碼的位置
- 25. 在android中的字符串編碼
- 26. 如何在Android中使用zxing編寫條形碼掃描器
- 27. 使用Android的OpenCV和Zxing掃描QR碼
- 28. 從zxing的圖像中檢測QR碼
- 29. 使用字母數字模式在QR碼中編碼URL?
- 30. 如何使用ZXing獲取QR碼的座標?
現在,我已經成功地編碼了QR碼並將它發送給了android應用程序。然後它將它作爲BitMap對象獲取。現在我該如何解碼它? – user477519 2012-01-15 16:54:07
那麼你可以看看'Detector'和'Decoder'的'.qrcode'包。但是,如果您將信息編碼爲僅將其發送到其他活動並將其解碼,那麼爲什麼不只是發送原始數據呢? – 2012-01-15 17:11:24
@SeanOwen這是工作的任何文本,但如果我想編碼網址,那麼我可能需要使用相同的intent.putExtra(Intents.Encode.TYPE,Contents.Type.TEXT);因爲沒有URL的類型 – Erum 2015-01-30 07:32:47