java 生成和解密二维码
来源:互联网 发布:windows 内存分析工具 编辑:程序博客网 时间:2024/06/01 12:28
jar包:qrcode.jar,Qrcode_swetake.jar
下载地址: http://download.csdn.net/detail/heyeweiwan/8707117
1生成二维码:
public class QRCodeEncoderHandler { /** * 生成二维码(QRCode)图片 * @param content * @param imgPath */ public void encoderQRCode(String content, String imgPath) { try { Qrcode qrcodeHandler = new Qrcode(); qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); qrcodeHandler.setQrcodeVersion(7); System.out.println(content); byte[] contentBytes = content.getBytes("UTF-8"); BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB); Graphics2D gs = bufImg.createGraphics(); gs.setBackground(Color.WHITE); gs.clearRect(0, 0, 140, 140); // 设定图像颜色> BLACK gs.setColor(Color.BLACK); // 设置偏移量 不设置可能导致解析出错 int pixoff = 2; // 输出内容> 二维码 if (contentBytes.length > 0 && contentBytes.length < 120) { boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes); for (int i = 0; i < codeOut.length; i++) { for (int j = 0; j < codeOut.length; j++) { if (codeOut[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { System.err.println("QRCode content bytes length = " + contentBytes.length + " not in [ 0,120 ]. "); } gs.dispose(); bufImg.flush(); File imgFile = new File(imgPath); // 生成二维码QRCode图片 ImageIO.write(bufImg, "png", imgFile); } catch (Exception e) { e.printStackTrace(); } } /** * @param args the command line arguments */ public static void main(String[] args) { String imgPath = "c:/Michael_QRCode.png"; String content = "爸爸妈妈告诉我"; QRCodeEncoderHandler handler = new QRCodeEncoderHandler(); handler.encoderQRCode(content, imgPath); System.out.println("encoder QRcode success"); } }
2: 解密二维码
public static void main(String[] args) throws IOException {//if (args.length < 1) {//System.err.println("Usage: QRCodeDecoderCUIExample imageFilePath");//System.exit(1);// } QRCodeDecoder decoder = new QRCodeDecoder(); BufferedImage image = ImageIO.read(new File("c:/Michael_QRCode.png")); String decodedString = new String(decoder.decode(new J2SEImage(image))); decodedString = ContentConverter.convert(decodedString); System.out.println(decodedString);}
3.J2SEImage 类
class J2SEImage implements QRCodeImage { BufferedImage image; public J2SEImage(BufferedImage image) { this.image = image; } public int getWidth() { return image.getWidth(); } public int getHeight() { return image.getHeight(); } public int getPixel(int x, int y) { return image.getRGB(x, y); }}
0 0
- java 生成和解密二维码
- java生成二维码和解析二维码
- JAVA生成二维码和解析二维码
- Java生成,一维码和二维码
- Java二维码生成和解析
- java生成一维码和二维码
- java二维码工具类:生成二维码和解析二维码
- java二维码 生成二维码
- java生成二维码、条形码和二维码、条形码的解码
- java生成二维码、条形码和二维码、条形码的解码
- java 二维码生成和加密base64压码
- java实现二维码的生成和解析。
- java实现二维码的生成和解析
- java 二维码生成和加密base64压码
- 【java】二维码的生成和使用
- Java 二维码生成基础方法和代码
- java代码实现生成二维码和条形码
- java生成单个和批量二维码
- 关于servlet监听器的笔记与案例
- Jsp四大作用域
- iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
- 治疗日晒斑的最好方法有哪些
- MyEclipse安装插件的几种方法
- java 生成和解密二维码
- vector容器类型
- python单元测试框架unittest简介
- cocos2d-x播放骨骼动画
- Linux中PPPOE技术分析
- get函数理解
- jquery easyui datagrid使用参考(增删改查1)
- TCP协议如何来保证传输的可靠性
- poj 3216(二分图匹配)