JAVA开发二维码

二维码让我们的生活变得更加方便更加高速,现在就来教大家怎么制作用java来制作二维码当然,网上有很多工具可以一键生成二维码,很方便的,但是,它的局限性也是显而易见的,只能手动生成。因为在开发中有些时候系统需要动态生成生成二维码,作为it人员你必须get这些技能

一,作为java程序员,写代码之前除了导包还是导包

要导的包:QRCode.jar(作为程序员别问我包在哪下)

二,除了写代码还是写代码

 
   
  import com.swetake.util.Qrcode;
   
  import javax.imageio.ImageIO;
  import javax.servlet.http.HttpServlet;
  import java.awt.*;
  import java.awt.image.BufferedImage;
  import java.io.File;
  import java.io.IOException;
   
  /**
  * Created by Administrator on 2017/4/1.
  */
  public class QrCodeImg extends HttpServlet {
  //设定宽高
  final static int HEIGHT = 236;
  final static int WIDTH = 236;
  final static String CONTENT = "扫码后跳转的链接或者内容";
  final static String PATH = "web/image/QrCodeImg.png";//生成二维码存放路径
   
   
  /**
  * 生成二维码
  */
  public static void getQrCodeImg() throws IOException {
  //实例化一个QrCode
  Qrcode qrcode = new Qrcode();
   
  //排错率M代表15%
  qrcode.setQrcodeErrorCorrect('M');
  //编码集
  qrcode.setQrcodeEncodeMode('B');
  //二维码的版本
  qrcode.setQrcodeVersion(15);
  //创建一个画板
  BufferedImage bufferedImage = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
  //创建画笔
  Graphics2D graphics2D = bufferedImage.createGraphics();
  //设置背景色
  graphics2D.setBackground(Color.white);
  //创建二维码区域
  graphics2D.clearRect(0, 0, WIDTH, HEIGHT);
  //设置内容颜色
  graphics2D.setColor(Color.black);
   
  //获取内容的字节数据,设置字符编码
  byte[] contentBytes = CONTENT.getBytes("utf-8");
  boolean[][] codeOut = qrcode.calQrcode(contentBytes);
   
  int offset = 3; //设置偏移量
   
  //绘制二维码内容
  for (int i = 0; i < codeOut.length; i++) {
  for (int j = 0; j < codeOut.length; j++) {
  if (codeOut[i][j]) {
  graphics2D.fillRect(j*3+ offset,i*3+ offset, 3, 3);
  }
  }
  }
   
  //释放资源,清空缓存
  graphics2D.dispose();
  bufferedImage.flush();
   
  //写出二维码
  File imgFile = new File(PATH);
  ImageIO.write(bufferedImage, "png", imgFile);
  }
  }

三,拿手机扫码测试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值