zxing 这个是google的 
下载地址 
http://code.google.com/p/zxing/downloads/list

二维码源码案例

  1. package com.utils;
  2.  
  3. import java.awt.image.BufferedImage;
  4. import java.awt.image.DataBufferByte;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import java.util.Date;
  8. import java.util.Hashtable;
  9.  
  10. import javax.imageio.ImageIO;
  11.  
  12. import com.google.zxing.BarcodeFormat;
  13. import com.google.zxing.EncodeHintType;
  14. import com.google.zxing.MultiFormatWriter;
  15. import com.google.zxing.common.BitMatrix;
  16.  
  17. public class UtilsQrCode {
  18.  
  19. private static final int BLACK = 0xff000000;
  20. private static final int WHITE = 0xFFFFFFFF;
  21.  
  22. /**
  23. * @param args
  24. */
  25. public static void main(String[] args) {
  26. File file = new File("C:\\Users\\huage\\Desktop\\图片\\"+new Date().getTime()+".png");
  27. encode("http://www.baidu.com", file, BarcodeFormat.QR_CODE, 200, 200);
  28. }
  29.  
  30. /**
  31. * @param contents
  32. * @param file
  33. * @param format
  34. * @param width
  35. * @param height
  36. */
  37. public static void encode(String contents, File file, BarcodeFormat format, int width, int height) {
  38. try {
  39. contents = new String(contents.getBytes("UTF-8"), "ISO-8859-1");
  40. Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
  41. hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
  42. hints.put(EncodeHintType.MARGIN, 1);
  43. BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, format, width, height,hints);
  44. BufferedImage image = toBufferedImage(bitMatrix);
  45. writeToFile(image, "png", file);
  46. } catch (Exception e) {
  47. e.printStackTrace();
  48. }
  49. }
  50.  
  51. public static byte[] imgToBytes(BufferedImage image){
  52. if( image == null ) return new byte[0];
  53. byte[] data = ((DataBufferByte) image.getData().getDataBuffer()).getData();
  54. return data;
  55. }
  56.  
  57. public static void writeToFile(BufferedImage image, String format, File file) throws IOException {
  58. if( image == null || file == null ) return;
  59. ImageIO.write(image, format, file);
  60. }
  61.  
  62. public static BufferedImage toBufferedImage(BitMatrix matrix) {
  63. int width = matrix.getWidth();
  64. int height = matrix.getHeight();
  65. BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
  66. for (int x = 0; x < width; x++) {
  67. for (int y = 0; y < height; y++) {
  68. image.setRGB(x, y, matrix.get(x, y) == true ? BLACK : WHITE);
  69. }
  70. }
  71. return image;
  72. }
  73.  
  74. }

java-二维码编写zxing的更多相关文章

  1. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍   我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream ou ...

  2. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数 ...

  3. Java二维码生成与解码

      基于google zxing 的Java二维码生成与解码   一.添加Maven依赖(解码时需要上传二维码图片,所以需要依赖文件上传包) <!-- google二维码工具 --> &l ...

  4. Java二维码生成与解码工具Zxing使用

    Zxing是Google研发的一款非常好用的开放源代码的二维码生成工具,目前源码托管在github上,源码地址: https://github.com/zxing/zxing 可以看到Zxing库有很 ...

  5. Java生成带小图标的二维码-google zxing 工具类

    近期一直忙于开发微信商城项目,应客户要求,要开发个有图标的二维码.经过两次改版,终于实现了该功能(第一次没有小图标,这次才整合好的),如下是完整代码 . 该代码使用Java7开发,另外使用 core- ...

  6. java二维码之利用谷歌的zxing生成二维码,解析二维码

    生成二维码 @RequestMapping("/123") public void test(HttpServletRequest request,HttpServletRespo ...

  7. java二维码小试牛刀

    旁白: 由于工作需要,要做一个java的二维码的图片,花了2天的时间学习了一下,过程中也遇到了一些问题,这里做个笔记,收藏了. 废话不多说了,入题吧! 转自:http://www.open-open. ...

  8. Java二维码登录流程实现(包含短地址生成,含部分代码)

    近年来,二维码的使用越来越风生水起,笔者最近手头也遇到了一个需要使用二维码扫码登录网站的活,所以研究了一下这一套机制,并用代码实现了整个流程,接下来就和大家聊聊二维码登录及的那些事儿. 二维码原理 二 ...

  9. java二维码开发

    之前就写过很多关于二维码的东西,一直没有时间整理一下,所以呢今天就先来介绍一下如何利用java开发二维码.生成二维码有很多jar包可以实现,例如Zxing,QRcode,前者是谷歌的,后者日本的,这里 ...

随机推荐

  1. windows 如何查看端口占用情况?

    原文来自:http://www.iteye.com/topic/1117270 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这 ...

  2. div根据内容改变大小并且左右居中

    div{ display:inline-block; width:auto; } 这个div的父元素text-align:center;

  3. java 22 - 7 多线程之控制线程的方法

    线程休眠(让线程休息一会再运行) public static void sleep(long millis) 在自定义线程类中添加该方法. 更改后,运行测试类,结果就是每执行完一轮,就休息1秒(这里设 ...

  4. UIButton(改变Title和image位置)

    UIButton *btn = [[UIButton alloc] init]; [btn setFrame:frame]; [btn setTitleColor:titleColor forStat ...

  5. vue组件的配置属性

    vue组件的声明语法: Vue.component('component-name',{ template:'<p>段落{{prop1}} {{prop2}}</p>', da ...

  6. 005商城项目:ssm框架的整合成功之后的问题:使用maven的tomcat插件时的debug

    在执行maven的clean时经常碰到一个问题: 解决: 然后: 还有一个问题是:用maven 使用Debug调试时,不能看到源代码. 解决办法: 下面选择Debug Configurations 这 ...

  7. DEDECMS之十 修改织梦链和文章的默认来源及作者

    今天在用织梦搭网站的时候,发现了两个问题,一个就是最新的dedecms5.7系统中默认会加上“织梦链”这一个链接组,织梦的做法是可以理解的, 但是给别人做网站,这些链接是不能要的,所以在数据库,模板文 ...

  8. BZOJ 1066 【SCOI2007】 蜥蜴

    Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为$1$,蜥蜴的跳跃距离是d,即蜥蜴可以跳 ...

  9. 【点滴积累,厚积薄发】windows schedule task的最小时间间隔是多少?

    在一些业务系统中,经常会出现一些需要定时运行的任务,业界已有很多优秀的选择,比如windows schedule task,Quartz等等.在以前在新蛋的时候用的是内部封装的JobConsole,非 ...

  10. NOI2018准备 Day8

    清北学堂入学测试,6道题凑了363分,平均466才能达到省选班的程度,差距不小. 今天突然感觉最大的BOSS是搜索,虽然每次都写崩...... 3个小时写了一道DP没写出来 但我不会忘记,我的首个目标 ...