二维码生成器和解析器-java

2020-11-18 11:35

阅读:644

标签:com   http   blog   style   class   div   img   code   java   size   javascript   

 

  1.工具zxing2.1----下载地址:http://code.google.com/p/zxing/downloads/detail?name=ZXing-2.1.zip&can=2&q=

    所有版本下载地址:http://code.google.com/p/zxing/downloads/list

  2.需要的jar包,zxing的core.jar和zxing的javase.jar这两个jar包在zxing2.1版本中地址是

    zxing/zxingorg/web/WEB-INF/lib里能找得到

  代码

soscw.com,搜素材
 1     private static final int BLACK = 0xff000000;
 2     private static final int WHITE = 0xFFFFFFFF;
 3     public static void main(String[] args) throws Exception {
 4         File file = new File("f://test.png");
 5         TestImg test = new TestImg();
 6         test.encode("duwenlei", file,BarcodeFormat.QR_CODE, 200, 200, null);
 7         test.decode(file);
 8     }
 9 
10     public void encode(String contents, File file, BarcodeFormat format,
11             int width, int height, Map hints) throws Exception {
12         BitMatrix bitMatrix =  new MultiFormatWriter().encode(contents, format, width, height);
13         writeToFile(bitMatrix, "png", file);
14     }
15     /**
16      * 生成二维码图片
17 * 18 * @param matrix 19 * @param format 20 * 图片格式 21 * @param file 22 * 生成二维码图片位置 23 * @throws IOException 24 */ 25 public static void writeToFile(BitMatrix matrix, String format, File file) throws IOException { 26 BufferedImage image = toBufferedImage(matrix); 27 ImageIO.write(image, format, file); 28 } 29 30 /** 31 * 生成二维码内容
32 * 33 * @param matrix 34 * @return 35 */ 36 public static BufferedImage toBufferedImage(BitMatrix matrix) { 37 int width = matrix.getWidth(); 38 int height = matrix.getHeight(); 39 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 40 for (int x = 0; x ) { 41 for (int y = 0; y ) { 42 image.setRGB(x, y, matrix.get(x, y) == true ? BLACK : WHITE); 43 } 44 } 45 return image; 46 } 47 48 /** 49 * 解析QRCode二维码 50 */ 51 @SuppressWarnings("unchecked") 52 public void decode(File file) { 53 try { 54 BufferedImage image; 55 try { 56 image = ImageIO.read(file); 57 if (image == null) { 58 System.out.println("Could not decode image"); 59 } 60 LuminanceSource source = new BufferedImageLuminanceSource(image); 61 BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); 62 Result result; 63 @SuppressWarnings("rawtypes") 64 Hashtable hints = new Hashtable(); 65 //解码设置编码方式为:utf-8 66 hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); 67 result = new MultiFormatReader().decode(bitmap, hints); 68 String resultStr = result.getText(); 69 System.out.println("解析后内容:" + resultStr); 70 } catch (IOException ioe) { 71 System.out.println(ioe.toString()); 72 } catch (ReaderException re) { 73 System.out.println(re.toString()); 74 } 75 } catch (Exception ex) { 76 System.out.println(ex.toString()); 77 } 78 }
soscw.com,搜素材

 

 

 

 

 

 

 


摘自:http://www.cnblogs.com/hongten/archive/2012/10/26/java_qrcode.html

二维码生成器和解析器-java,搜素材,soscw.com

二维码生成器和解析器-java

标签:com   http   blog   style   class   div   img   code   java   size   javascript   

原文地址:http://www.cnblogs.com/duwenlei/p/3695896.html


评论


亲,登录后才可以留言!