Android Générer du code QR et du code à barres à l'aide de Zxing
Code pour générer des Qr code à l'aide de zxing est ---
Il prend les données de chaîne et du imageview
Cela fonctionne bien
private void generateQRCode_general(String data, ImageView img)throws WriterException {
com.google.zxing.Writer writer = new QRCodeWriter();
String finaldata = Uri.encode(data, "utf-8");
BitMatrix bm = writer.encode(finaldata, BarcodeFormat.QR_CODE,150, 150);
Bitmap ImageBitmap = Bitmap.createBitmap(150, 150,Config.ARGB_8888);
for (int i = 0; i < 150; i++) {//width
for (int j = 0; j < 150; j++) {//height
ImageBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK: Color.WHITE);
}
}
if (ImageBitmap != null) {
qrcode.setImageBitmap(ImageBitmap);
} else {
Toast.makeText(getApplicationContext(), getResources().getString(R.string.userInputError),
Toast.LENGTH_SHORT).show();
}
}
Maintenant, ma question est ,comment obtenir bar code
à l'aide de la même bibliothèque.j'ai vu certains fichiers liés à bar codes
mais je ne suis pas sûr de savoir comment faire.
Depuis que je veux générer le bar code
au sein de l'application et de ne pas appeler tout web service
. Depuis que je suis déjà à l'aide de zxing,aucun des points de y compris itext et barbecue pots
source d'informationauteur Ciff
Vous devez vous connecter pour publier un commentaire.
Vous utilisez QRCodeWriter. Si vous voulez écrire un autre type de code, utilisez un autre Écrivain.
Cochez cette MultiFormatWriter - il peut écrire n'importe quel type de barre ou trouver des écrivains ici dans les sous-dossiers (ce qui est de la bibliothèque zxing)
Comme Gaskoin dit... MultiFormatWrite il a travaillé 🙂 voici le code.
J'ai testé la accepté de répondre à générer un code à Barres, mais la sortie est flou lorsqu'il est utilisé dans un grand ImageView. Pour obtenir une haute qualité de sortie, le largeur de la BitMatrix, l'image et la finale ImageView devrait être le même. Mais, ce faisant, à l'aide de la accepté de répondre rendra la génération de code Barres très lente (2 à 3 secondes). Cela se produit parce que
est une opération lente, et l'on a accepté la réponse est en train de faire un usage intensif de cette opération (2 boucles for imbriquées).
Pour surmonter ce problème, j'ai modifié un peu l'image Bitmap algorithme de génération (uniquement l'utiliser pour la génération de code à Barres) de faire usage de l'image Bitmap.setPixels() qui est beaucoup plus rapide:
Cette approche est très rapide, même pour les très grosses sorties et génère une haute qualité d'image bitmap.
Là vous allez,
Bien sûr, vous pouvez prendre en charge autant de BarcodeFormats que vous voulez, il suffit de modifier le constructeur ici :
essayer ce code
espère que cela vous aide.