Java--二维码生成&图片和流转化

 1 package test;
 2 
 3 import java.awt.image.BufferedImage;
 4 import java.io.ByteArrayInputStream;
 5 import java.io.ByteArrayOutputStream;
 6 import java.io.File;
 7 import java.util.Hashtable;
 8 
 9 import javax.imageio.ImageIO;
10 
11 import com.google.zxing.BarcodeFormat;
12 import com.google.zxing.EncodeHintType;
13 import com.google.zxing.MultiFormatWriter;
14 import com.google.zxing.client.j2se.MatrixToImageWriter;
15 import com.google.zxing.common.BitMatrix;
16 import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
17 
18 public class Test {
19 
20     public static void main(String[] args) throws Exception {
21         String text = "你好";
22 
23         int width = 100;
24         int height = 100;
25         String format = "png";
26         Hashtable hints = new Hashtable();
27         hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
28         BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
29         File outputFile = new File("new.png");
30         MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
31 
32         byte[] b = toByteArray(new File("new.png"));
33         new Base64();
34         String s = Base64.encode(b);
35         // String s = new String(b, "utf-8");
36         System.out.println(s);
37         // new Base64();
38         ByteArrayInputStream in = new ByteArrayInputStream(Base64.decode(s));
39         BufferedImage image = ImageIO.read(in);
40         File newFile = new File("new2.png");
41         ImageIO.write(image, "png", newFile);
42 
43     }
44 
45     public static byte[] toByteArray(File imageFile) throws Exception {
46         BufferedImage img = ImageIO.read(imageFile);
47         ByteArrayOutputStream buf = new ByteArrayOutputStream((int) imageFile.length());
48         try {
49             ImageIO.write(img, "jpg", buf);
50         } catch (Exception e) {
51             e.printStackTrace();
52             return null;
53         }
54         return buf.toByteArray();
55     }
56 
57 }

 

posted @ 2017-02-14 16:24  MicroCat  阅读(5357)  评论(0编辑  收藏  举报