| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
efbb
9年前发布

Java二维码的解码和编码

需要用到的Jar包:ZXing-core.jar和ZXing-javase.jar。
   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;      //编码  public class QREncoder {          public static void main(String[] args) throws Exception {          String content = "hello world";          String encoding = "utf-8";          int width = 150;          int height = 150;          String format = "jpg";          File imagePath = new File("d:/test.jpg");                      com.google.zxing.Writer writer = new MultiFormatWriter();          Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(2);          hints.put(EncodeHintType.CHARACTER_SET, encoding);          BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);          MatrixToImageWriter.writeToFile(matrix, format, imagePath);      }      }              import java.io.File;  import java.util.Hashtable;      import javax.imageio.ImageIO;      import com.google.zxing.Binarizer;  import com.google.zxing.BinaryBitmap;  import com.google.zxing.DecodeHintType;  import com.google.zxing.LuminanceSource;  import com.google.zxing.MultiFormatReader;  import com.google.zxing.Reader;  import com.google.zxing.Result;  import com.google.zxing.client.j2se.BufferedImageLuminanceSource;  import com.google.zxing.common.GlobalHistogramBinarizer;      //解码  public class QRDecoder {          public static void main(String[] args) throws Exception {          File imagePath = new File("d:/test.jpg");          String encoding = "utf-8";                      Reader reader = new MultiFormatReader();          LuminanceSource ls = new BufferedImageLuminanceSource(ImageIO.read(imagePath));          Binarizer b = new GlobalHistogramBinarizer(ls);          Hashtable<DecodeHintType, String> hint1 = new Hashtable<DecodeHintType, String>(2);          hint1.put(DecodeHintType.CHARACTER_SET, encoding);          Result r = reader.decode(new BinaryBitmap(b), hint1);          System.out.println(r.getText());      }      }