1. Genere el código QR en el proyecto Java utilizando SwetakeQRCode
http://swetake.com/qr/ Descargar dirección
O http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Esto es escrito por los japoneses y genera el código cuadrado QR que comúnmente usamos.
Se puede usar en chino
Por ejemplo: 56777777GHJJJJJJ
Un amigo me preguntó sobre el código generado por esta imagen. Busqué en línea y ordené una clase. Primero, debería colocar el paquete SwetakeQrCode JAR QRCode.jar en la ruta de compilación del proyecto. La dirección de descarga de este paquete es el SwetakeKrcode oficial que se proporciona anteriormente http://www.swetake.com/qrcode/java/qr_java.html. La siguiente es una clase de prueba
import 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.unsupportedEncodingingException;/*** creado con la idea de IntelliJ. * Fecha: 10/9/13 * Hora: 11:31 am */public class QrCodetest {private static int default_width; privado estático int unit_width = 10; public static void main (String args []) lanza la excepción {createImg (); } public static void createImg () {qrcode qrcode = new Qrcode (); // La capacidad de corrección de errores // 7% del nivel L se puede corregir // El 15% del nivel M puede corregirse // El 25% del código QR puede corregirse // El 30% del nivel H puede corregirse // El código QR tiene tolerancia a fallas. Si los gráficos de código QR están dañados, la máquina aún puede leerlos y puede ser de hasta el 7% al 30% del área dañada. // relativamente hablando, cuanto mayor sea la tolerancia de error, mayor será el área de gráficos de código QR. Por lo tanto, el compromiso general utiliza el 15% de tolerancia a fallas. qrcode.setqrCodeRorCorrect ('m');/ * l ',' m ',' q ',' h ' */ qrcode.setqrcodeEncodeMode (' b ');/ * "n", "a" o otro */ qrcode.setqrcodeversion (3);/ * 0-20 */ string testString = "5677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777. byte [] buff = null; intente {buff = testString.getBytes ("UTF-8"); } catch (UnsupportedEncodingException 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; // createphics gráficos2d g = bi.creategaphics (); // set de fondo 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, i*unit_width, unit_width-1, unitar }}}} g.dispose (); bi.flush (); Cadena filepath = "qrcode.png"; Archivo F = nuevo archivo (FilePath); intente {imageIO.write (bi, "png", f); } catch (ioException e) {E.PrintStackTrace (); } System.out.println ("Crear QRCode terminado!"); }}Permítanme explicar el código, no hablaré sobre el resto. Principalmente hablaré sobre cómo hacer que QRCode llene la imagen completa. Primero definiré unit_width = 10 u otros valores, y luego calcularé qué tan grande debe ser la imagen. Entonces la imagen llenará toda la imagen. Sin embargo, si se ve bien, podemos controlar el tamaño de la imagen, por lo que también podemos definir default_width, que es la longitud y el ancho de la imagen, y luego calcular unitar_width, por lo que el tamaño de la imagen se fija. Sin embargo, la unidad calculada de esta manera puede no estar bien dividida, por lo que la imagen no se verá muy agradable. Estos no son grandes problemas, solo ajustalo. El tamaño de Brect.length está determinado por el valor en qrcode.setqrcodeversion (3), no por la longitud de la cadena.
El siguiente ZXing también puede generar dicho Ccode QR.
2. Use BarCode4J para generar código de barras y código QR
Barcode4j URL: http://sourceforge.net/projects/barcode4j/
BarCode4J es un algoritmo de generación de código QR que usa DataMatrix, que admite el algoritmo QR.
Datamatrix es un estándar en Europa y Estados Unidos, y QR es un estándar en Japón.
BarCode4J generalmente se genera como rectangular.
Por ejemplo: 887777alec000yan
Este artículo está escrito muy claramente, consultelo.
//www.vevb.com/article/90048.htm
3.zxing
Zxing Esto es de Google, descargar la dirección
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; import com.google.zxing.client.j2se.matrixtoimagewriter; import com.google.zxing.common.bitmatrix; import com.google.zxing.qrcode.qrcodewriter; public class QrCodeevents {public static void main (string [] args) lanza excepción {string text = "hello"; int ancho = 100; int altura = 100; Formato de cadena = "png"; Sugerencias hashtables = new Hashtable (); hints.put (encodeHintType.character_set, "UTF-8"); BitMatrix bitMatrix = new MultiformAtWriter (). ENCODE (Text, BarCodeFormat.qr_code, ancho, altura, sugerencias); Archivo outputFile = nuevo archivo ("new.png"); MatrixteoImageWriter.writeToFile (bitmatrix, formato, outputFile); }}Lo anterior es una compilación de la información de la herramienta para generar códigos QR en Java. Continuaremos agregando información relevante en el futuro. ¡Gracias por su apoyo para este sitio!