sinobuy
  

你好! 访客. 请先 登陆注册一个帐号.
十月 23, 2019, 01:04:14 am
论文答辩趣闻 新年祝福短信 淘淘成长日记 可爱发行全攻略 鬼故事一箩筐 杨柳青石家大院 淘淘成长日记
* 首页 说明 搜索 日历 登陆 注册
公告和新闻:关注原生态购物网微信公众号就有赢取超值大礼的机会 点击进入
原生态论坛  |  设计专版  |  网页/程序设计 (版主: tianya)  |  主题: Java 生成带链接二维码 0 会员 以及 1 访客 正在阅读本篇主题. « 上一篇主题 下一篇主题 »
页: [1] 向下 打印
作者 主题: Java 生成带链接二维码  (阅读 1737 次)
水影凝月
Administrator(管理员)
级别:东方不败
*****

受欢迎度: 190
在线 在线

帖子: 23119


451314485
个人网站 电子邮件
Java 生成带链接二维码
« 于: 十二月 05, 2014, 11:07:27 am »

二维码现在已经到处都是了,下面是二维码的介绍
二维码 ,又称 二维条码 , 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构 成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以 实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动 识别功能、及处理图形旋转变化等特点。

1.java这边的话生成二维码有很多开发的jar包如zxing,qrcode.q前者是谷歌开发的后者则是小日本开发的,这里的话我使用zxing的开发包来弄

2.先下载zxing开发包,这里用到的只是core那个jar包

3.使用zxing开发还需要一个类,代码如下

程序代码:
package com.wxap.util;
import com.google.zxing.common.BitMatrix;
   
 import javax.imageio.ImageIO;
 import java.io.File;
 import java.io.OutputStream;
 import java.io.IOException;
 import java.awt.image.BufferedImage;
   
   
 public final class MatrixToImageWriter {
   
   private static final int BLACK = 0xFF000000;
   private static final int WHITE = 0xFFFFFFFF;
   
   private MatrixToImageWriter() {}
   
     
   public static BufferedImage toBufferedImage(BitMatrix matrix) {
     int width = matrix.getWidth();
     int height = matrix.getHeight();
     BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
     for (int x = 0; x < width; x++) {
       for (int y = 0; y < height; y++) {
         image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
       }
     }
     return image;
   }
   
     
   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);
     }
   }
   
 }

4.借助上面的类生成二维码

程序代码:
package com.wxap.util;
 
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.WriterException;
import com.google.zxing.common.BitMatrix;
   
public class Test {
   
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String text = "http://www.sinobuy.cn";
        int width = 300;
        int height = 300;
        //二维码的图片格式
        String format = "jpg";
        Hashtable hints = new Hashtable();
        //内容所使用编码
        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.jpg");
        MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
   
    }
   
}

text就是二维码的内容里这里可以使普通的文字也可以是链接
已记录


原生态特色礼品:沉香 紫檀 黄花梨
页: [1] 向上 打印 
原生态论坛  |  设计专版  |  网页/程序设计 (版主: tianya)  |  主题: Java 生成带链接二维码 « 上一篇主题 下一篇主题 »
跳到:  

友情链接: 原生态购物网 原生态官方博客  佛珠网  搜狐社区 淑女情缘论坛 沉香
  原生态论坛© 2005~2017, www.sinobuy.cn 版权所有
Powered by SMF 1.1 RC1 Lewis Media.
Powered by MySQL  Powered by PHP  Valid XHTML 1.0!  Valid CSS!