zoukankan      html  css  js  c++  java
  • java生成二维码

    1.java这边的话生成二维码有很多开发的jar包如zxing,qrcode.q前者是谷歌开发的后者则是小日本开发的,这里的话我使用zxing的开发包来弄
    2.先下载zxing开发包,这里用到的只是core那个jar包
    3.使用zxing开发还需要一个类,代码如下


    1. [图片] 11111111.png    

    2. [代码][Java]代码     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
      [java]
      packageorg.lxh;
      importcom.google.zxing.common.BitMatrix;
      importjavax.imageio.ImageIO;
      importjava.io.File;
      importjava.io.OutputStream;
      importjava.io.IOException;
      importjava.awt.image.BufferedImage;
      publicfinal class MatrixToImageWriter {
      privatestatic final int BLACK = 0xFF000000;
      privatestatic final int WHITE = 0xFFFFFFFF;
      privateMatrixToImageWriter() {}
      publicstatic BufferedImage toBufferedImage(BitMatrix matrix) {
      intwidth = matrix.getWidth();
      intheight = matrix.getHeight();
      BufferedImage image = newBufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
      forintx = 0; x < width; x++) {
      forinty = 0; y < height; y++) {
      image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
      }
      }
      returnimage;
      }
      publicstatic void writeToFile(BitMatrix matrix, String format, File file)
      throwsIOException {
      BufferedImage image = toBufferedImage(matrix);
      if(!ImageIO.write(image, format, file)) {
      thrownew IOException("Could not write an image of format " + format + " to " + file);
      }
      }
      publicstatic void writeToStream(BitMatrix matrix, String format, OutputStream stream)
      throwsIOException {
      BufferedImage image = toBufferedImage(matrix);
      if(!ImageIO.write(image, format, stream)) {
      thrownew IOException("Could not write an image of format " + format);
      }
      }
      }
     
    packageorg.lxh;
      importcom.google.zxing.common.BitMatrix;
      importjavax.imageio.ImageIO;
      importjava.io.File;
      importjava.io.OutputStream;
      importjava.io.IOException;
      importjava.awt.image.BufferedImage;
      publicfinal class MatrixToImageWriter {
      privatestatic final int BLACK = 0xFF000000;
      privatestatic final int WHITE = 0xFFFFFFFF;
      privateMatrixToImageWriter() {}
      publicstatic BufferedImage toBufferedImage(BitMatrix matrix) {
      intwidth = matrix.getWidth();
      intheight = matrix.getHeight();
      BufferedImage image = newBufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
      forintx = 0; x < width; x++) {
      forinty = 0; y < height; y++) {
      image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
      }
      }
      returnimage;
      }
      publicstatic void writeToFile(BitMatrix matrix, String format, File file)
      throwsIOException {
      BufferedImage image = toBufferedImage(matrix);
      if(!ImageIO.write(image, format, file)) {
      thrownew IOException("Could not write an image of format " + format + " to " + file);
      }
      }
      publicstatic void writeToStream(BitMatrix matrix, String format, OutputStream stream)
      throwsIOException {
      BufferedImage image = toBufferedImage(matrix);
      if(!ImageIO.write(image, format, stream)) {
      thrownew IOException("Could not write an image of format " + format);
      }
      }
      }
    4.借助上面的类生成二维码
      [java]
      packageorg.lxh;
      importjava.io.File;
      importjava.util.Hashtable;
      importcom.google.zxing.BarcodeFormat;
      importcom.google.zxing.EncodeHintType;
      importcom.google.zxing.MultiFormatWriter;
      importcom.google.zxing.WriterException;
      importcom.google.zxing.common.BitMatrix;
      publicclass Test {
      /**
      * @param args
      * @throws Exception
      */
      publicstatic void main(String[] args) throwsException {
      String text = "http://www.ablanxue.com";
      intwidth = 300;
      intheight = 300;
      //二维码的图片格式
      String format = "gif";
      Hashtable hints = newHashtable();
      //内容所使用编码
      hints.put(EncodeHintType.CHARACTER_SET,"utf-8");
      BitMatrix bitMatrix = newMultiFormatWriter()。encode(text,
      BarcodeFormat.QR_CODE, width, height, hints);
      //生成二维码
      File outputFile = newFile("d:"+File.separator+"new.gif");
      MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
      }
      }
     



  • 相关阅读:
    改善用户体念:jsp+Ajax实现实时上传,删除,导入Excel进度条
    hibernate+proxool的数据库连接池配置方法
    Js事件对象
    关于java数组拷贝的性能
    resin连接池配置
    java 动态编译源代码
    Java中对字符串进行加密和解密
    内存数据库H2 Mixed Mode布署
    ActiveX控件的另类免费签名法
    对PreparedStatement、Statement的一点总结
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317928.html
Copyright © 2011-2022 走看看