- package liupeng;
- import java.io.File;
- import org.json.JSONException;
- import org.json.JSONObject;
- public class Test {
- /**
- * 描述:二维码的生成
- * @author liupeng
- * @param args
- * @throws JSONException
- */
- public static void main(String[] args) throws JSONException {
- JSONObject obj = new JSONObject();
- obj.put("name", "liupeng");
- obj.put("age", 22);
- obj.put("school", "[盐城师范学院]信息科学与技术学院->软件工程");
- //String tomcatRoot = httpRequest.getSession().getServletContext().getRealPath("/SealAndSignImages");
- //String path = QRCodeOperator.MakeQRCode(tomcatRoot,"刘鹏的二维码", obj.toString());
- String path = QRCodeOperator.MakeQRCode("F:"+File.separator,"刘鹏的二维码", obj.toString());
- if(path != ""){
- System.out.println("二维码内容为:"+obj.toString());
- }
- }
-
- }
-
-
-
- package liupeng;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.util.HashMap;
- import java.util.Map;
- import javax.imageio.ImageIO;
- import javax.servlet.http.HttpServletRequest;
- import com.google.zxing.BarcodeFormat;
- import com.google.zxing.Binarizer;
- import com.google.zxing.BinaryBitmap;
- import com.google.zxing.EncodeHintType;
- import com.google.zxing.LuminanceSource;
- import com.google.zxing.MultiFormatReader;
- import com.google.zxing.MultiFormatWriter;
- import com.google.zxing.Result;
- import com.google.zxing.common.BitMatrix;
- import com.google.zxing.common.HybridBinarizer;
- public class QRCodeOperator {
- /**
- * 生成二维码
- * @param name 二维码文件名称(不带后缀)
- * @param content 二维码内容
- * @return 二维码图片路径
- */
- public static String MakeQRCode(String filepath,String name, String content){
- String retPath = "";
- try {
-
- //String content = "120605181003;http://www.cnblogs.com/jtmjx";
- //String path = FileOperator.getRootPath();
- String path = filepath;//httpRequest.getSession().getServletContext().getRealPath("/SealAndSignImages");
-
- MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
-
- Map hints = new HashMap();
- hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
- BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 200, 200,hints);
- File file1 = new File(path, name+".jpg");
- MatrixToImageWriter.writeToFile(bitMatrix, "jpg", file1);
- retPath = file1.getAbsolutePath();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return retPath;
- }
- public static void AnalysisQRCode(){
- try {
- MultiFormatReader formatReader = new MultiFormatReader();
- String filePath = "F:/Users/Administrator/Desktop/testImage/test.jpg";
- File file = new File(filePath);
- BufferedImage image = ImageIO.read(file);;
- LuminanceSource source = new BufferedImageLuminanceSource(image);
- Binarizer binarizer = new HybridBinarizer(source);
- BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
- Map hints = new HashMap();
- hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
- Result result = formatReader.decode(binaryBitmap,hints);
-
- System.out.println("result = "+ result.toString());
- System.out.println("resultFormat = "+ result.getBarcodeFormat());
- System.out.println("resultText = "+ result.getText());
-
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
-
- package liupeng;
- import com.google.zxing.common.BitMatrix;
- import javax.imageio.ImageIO;
- import java.io.File;
- import java.io.OutputStream;
- import java.io.IOException;
- import java.awt.image.BufferedImage;
- public final class MatrixToImageWriter {
- private static final int BLACK = 0xFF000000;
- private static final int WHITE = 0xFFFFFFFF;
- private MatrixToImageWriter() {}
- public static BufferedImage toBufferedImage(BitMatrix matrix) {
- int width = matrix.getWidth();
- int height = matrix.getHeight();
- BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
- for (int x = 0; x < width; x++) {
- for (int y = 0; y < height; y++) {
- image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
- }
- }
- return image;
- }
- public static void writeToFile(BitMatrix matrix, String format, File file)
- throws IOException {
- BufferedImage image = toBufferedImage(matrix);
- if (!ImageIO.write(image, format, file)) {
- throw new IOException("Could not write an image of format " + format + " to " + file);
- }
- }
-
-
- public static void writeToStream(BitMatrix matrix, String format, OutputStream stream)
- throws IOException {
- BufferedImage image = toBufferedImage(matrix);
- if (!ImageIO.write(image, format, stream)) {
- throw new IOException("Could not write an image of format " + format);
- }
- }
-
- }
![](//image77.360doc.cn/DownloadImg/2014/08/0917/44152086_1)
![](//image77.360doc.cn/DownloadImg/2014/08/0917/44152086_2)
![](//image77.360doc.cn/DownloadImg/2014/08/0917/44152086_3)
注意:需要导入org.json.jar和zxing-core-2.0.jar
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。