QRCode生成二维码

/* * 生成二维码(QRCode)图片 
* @param content 
* @param imgPath */


public static String encoderQRCode(String content) {   
String imgPath="E:\\QRCodeTest\\"+DateUtil.getStrTime()+".png";
try {   
Qrcode qrcodeHandler = new Qrcode();   
qrcodeHandler.setQrcodeErrorCorrect('M');   
qrcodeHandler.setQrcodeEncodeMode('B');   
qrcodeHandler.setQrcodeVersion(7);   


System.out.println(content);   
//byte[] contentBytes = content.getBytes("gb2312");   
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, "jpg", imgFile);   


} catch (Exception e) {   
e.printStackTrace();   
}
return imgPath;   
}   
### ThinkPHP 中 QRCode 生成二维码的方法 在 ThinkPHP 框架中,可以通过集成第三方库来实现二维码生成功能。以下是基于 `PHPQRCode` 库的一个简单实例: #### 创建控制器并引入依赖项 为了简化操作,在项目根目录下安装 `endroid/qrcode` 扩展包。 ```bash composer require endroid/qrcode ``` 接着,在相应的控制器文件内编写如下所示的方法用于处理请求以及返回图片响应给前端页面[^1]。 ```php use Endroid\QrCode\QrCode; public function generate() { $text = 'https://example.com'; // 要编码的文字或URL链接 // 实例化 QrCode 对象,并设置要转换成二维码的内容 $qrCode = new QrCode($text); // 设置图像大小,默认宽度为300像素;高度会自动计算保持比例不变 $qrCode->setSize(300); header('Content-Type: '.$qrCode->getContentType()); echo $qrCode->writeString(); } ``` 此段代码展示了如何利用 Composer 安装合适的 PHP 类库,并通过简单的几行配置即可完成基本的功能开发。对于更加复杂的场景,则可以根据实际业务逻辑进一步扩展该函数,比如支持动态传入待编码字符串、调整图形样式等特性[^3]。 另外一种方式则是采用纯 Python 编写的脚本配合 `qrcode` 这样的专用模块来进行相同的操作。下面给出一段简短的例子说明其具体做法[^2]: ```python import qrcode def make_qr(data, file_path='qrcode.png'): img = qrcode.make(data) type(img) img.save(file_path) make_qr('http://www.example.org') ``` 这段程序同样实现了将指定 URL 或者任意文本转化为可视化的二维条形码图案,并将其存储到本地磁盘上的指定位置等待后续读取展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值