1. Générez du code QR dans le projet Java à l'aide de SwetakeQrcode
http://swetake.com/qr/ Adresse de téléchargement
Ou http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Ceci est écrit par le japonais et génère le code QR carré que nous utilisons couramment.
Peut être utilisé en chinois
Par exemple: 5677777GHJJJJJjj
Un ami m'a posé des questions sur le code généré par cette image. J'ai cherché en ligne et trié une classe. Tout d'abord, je dois placer le package JAR SWETakeQrcode qrcode.jar dans le chemin de compilation du projet. L'adresse de téléchargement de ce package est le swetakeqrcode officiel donné ci-dessus http://www.swetake.com/qrcode/java/qr_java.html. Ce qui suit est une classe de test
Importer com.swetake.util.qrcode; import javax.imageio.imageio; import java.awt. *; import java.awt.image.bufferedImage; import java.io.file; import java.io.ioexception; import java.io.unsupportdeNcodingException; / ** * créé avec Intellij l'idée. * Date: 10/9/13 * Heure: 11:31 AM * / classe publique QRCODETEST {private static int default_width; private static int Unit_Width = 10; public static void main (String args []) lève une exception {createImg (); } public static void createImg () {qrcode qrcode = new qrcode (); // La capacité de correction d'erreur // 7% du niveau L peut être corrigée // 15% du niveau M peut être corrigé // 25% du code QR peut être corrigé // 30% du niveau H peut être corrigé // Le code QR a une tolérance à la défaut. Si les graphiques du code QR sont endommagés, ils peuvent toujours être lus par la machine et peuvent atteindre 7% à 30% de la zone endommagée. // relativement parlant, plus le taux de tolérance d'erreur est élevé, plus la zone graphique du code QR est grande. Par conséquent, le compromis général utilise 15% de tolérance aux pannes. qrcode.setqrcodeerrorcorrect ('m'); / * l ',' m ',' q ',' h '* / qrcode.setqrcodeencodemode (' b '); / * "n", "ou autre * / qrcode.setqrcodeversion (3); / * 0-20 * / string testString =" 567777hjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjje * / string = "56777 octet [] buff = null; try {buff = testString.getBytes ("utf-8"); } catch (UnportEnCcodingException e) {e.printStackTrace (); } boolean [] [] Brect = qrcode.calqrcode (buff); Default_width = Brect.length * Unit_Width; BufferedImage BI = new BufferedImage (Default_Width, Default_Width, BufferedImage.Type_int_rgb); // int UnitWidth = Default_Width / Brect.length; // CreateGraphics Graphics2d G = Bi.Creategraphics (); // Set Background G.SetBackground (Color.White); g.ClearRect (0, 0, default_width, default_width); g.setColor (color.black); if (buff.length> 0 && buff.length <123) {for (int i = 0; i <Brect.length; i ++) {for (int j = 0; j <Brect.length; j ++) {if (Brect [j] [i]) {g.fillrect (j * unit_width); }}}} g.dispose (); bi.flush (); String filepath = "qrcode.png"; Fichier f = nouveau fichier (filepath); essayez {imageo.write (bi, "png", f); } catch (ioException e) {e.printStackTrace (); } System.out.println ("Créer QRCode fini!"); }}Permettez-moi d'expliquer le code, je ne parlerai pas du reste. Je vais principalement parler de la façon de faire en sorte que QRCode remplisse l'image entière. Je définirai d'abord Unit_Width = 10 ou d'autres valeurs, puis je calculerai l'ampleur de l'image. Ensuite, l'image remplira l'image entière. Cependant, si cela semble bon, nous pouvons contrôler la taille de l'image, afin que nous puissions également définir default_width, qui est la longueur et la largeur de l'image, puis calculer Unit_width, de sorte que la taille de l'image est fixe. Cependant, l'unité calculée de cette manière peut ne pas être bien divisée, donc l'image ne sera pas très agréable. Ce ne sont pas de gros problèmes, ajustez-le simplement. La taille de Brect.length est déterminée par la valeur dans qrcode.setqrcodeversion (3), pas par la longueur de la chaîne.
Le ZXing suivant peut également générer un tel QRCODE.
2. Utilisez Barcode4J pour générer un code-barres et un code QR
URL BARCODE4J: http://sourceforge.net/projects/barcode4j/
Barcode4j est un algorithme de génération de code QR utilisant DataMatrix, qui prend en charge l'algorithme QR.
Datamatrix est une norme en Europe et aux États-Unis, et QR est une norme au Japon.
Barcode4j est généralement généré comme rectangulaire.
Par exemple: 88777Alec000yan
Cet article est écrit très clairement, veuillez y consulter
//www.vevb.com/article/90048.htm
3.zxage
zxing c'est de Google, adresse de téléchargement
http://code.google.com/p/zxing/downloads/list
import java.io.file; import java.util.hashtable; import com.google.zxing.barcodeformat; import com.google.zxing.encodehinttype; import com.google.zxing.multiformatwriter; importer com.google.zxing.client.j2se.multiformtoToImage; com.google.zxing.common.bitmatrix; import com.google.zxing.qrcode.qrcodewriter; public class qrCodeevents {public static void main (string [] args) lance l'exception {string text = "Bonjour"; Int largeur = 100; int hauteur = 100; Chaîne format = "png"; HashTable Hints = new HashTable (); hint.put (encodeHintType.Character_set, "UTF-8"); BitMatrix BitMatrix = new MultiformatWriter (). Encode (texte, barcodeformat.qr_code, largeur, hauteur, indices); File OutputFile = new File ("new.png"); MatrixToimageWriter.WriteToFile (BitMatrix, Format, OutputFile); }}Ce qui précède est une compilation des informations de l'outil pour générer des codes QR en Java. Nous continuerons d'ajouter des informations pertinentes à l'avenir. Merci pour votre soutien à ce site!