当前位置:首页 > 开发 > 编程语言 > Java > 正文

java 生成二维码

发表于: 2015-03-24   作者:cainiaozheng   来源:转载   浏览次数:
摘要: package com.zheng.wen.Constroller; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util
package com.zheng.wen.Constroller;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;

import org.springframework.stereotype.Controller;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;

@Controller
public class IndexController {
private static final int BLACK = 0xFF000000;
private static final int WHITE = 0xFFFFFFFF;
public static void main(String[] args) throws Exception {
   String text = "郑文彬";
       int width = 300;
       int height = 300;
       //二维码的图片格式
       String format = "gif";
       Map<EncodeHintType, String> hints = new HashMap<EncodeHintType, String>();
       //内容所使用编码
       hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
       BitMatrix bitMatrix = new MultiFormatWriter().encode(text,
               BarcodeFormat.QR_CODE, width, height, hints);
       //生成二维码
       File outputFile = new File("d:"+File.separator+"new.gif");
       writeToFile(bitMatrix, format, outputFile);
   }


//生成二维码图片
public static BufferedImage toBufferedImage(BitMatrix matrix){
int width = matrix.getWidth();
int height = matrix.getHeight();
BufferedImage imge = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
for(int i=0;i<width;i++){
for(int y=0;y<height;y++){
imge.setRGB(i, y, matrix.get(i,y)? BLACK : WHITE);
}
}
return imge;
}

//保存为本地文件
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);
     }
    }
}

java 生成二维码

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
java生成二维码: package com.test; import java.awt.Color; import java.awt.Graphics2D; import j
二维码 ,又称 二维条码 , 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面
1. [图片] 11111111.png  [java]    package org.lxh;    import com.google.zxing.common.Bit
上个月学校有个软件创新杯,最近看了网上很火的二维码比较不错。参考了国内国外一些技术文章,发现
package com.fh; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.Buff
二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码
1: 使用SwetakeQRCode在Java项目中生成二维码 http://swetake.com/qr/ 下载地址 或着http://sourcef
1: 使用SwetakeQRCode在Java项目中生成二维码 http://swetake.com/qr/ 下载地址 或着http://sourcef
二维码是什么? 二维码从一维码扩展而来,增加另一维具有可读性的条码,用黑白矩形图形表示二进制数
qq 2294508843 使用vs2013开发,c#语言,源码出售 一、源码特点 采用mvc开发框架开发的二维码生成器
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号