想说的话放在了二维码里

用到的node库

  • express 用来启动服务
  • qrcode 用来生成二维码
  • cors 来解决跨域问题

代码展示

// 后端代码
const qrcode = require('qrcode');
const express = require('express');
const cors = require('cors');

const app = express();
const port = 3000;

// 使用 CORS 中间件
app.use(cors()); // 解决跨域

app.get('/qrcode', (req, res) => {
    const query = req.query;
    console.log(query)
    qrcode.toDataURL(query.text, (err, src) => {
        if (err) return res.send('Error occured');
        res.json({ src }); // 返回json数据
        res.end();
    });
})
app.listen(port, () => {
    console.log(`服务器正在运行,访问 http://localhost:${port}`);
});
<body>
    <input type="text" id="input">
    <button id="btn">发送</button>
    <img src="" id="img" alt="">

    <script>
        var input = document.getElementById('input');
        var img = document.getElementById('img');
        var btn = document.getElementById('btn');

        btn.onclick = function(){
            fetch('http://localhost:3000/qrcode?text=' + input.value)
            .then(res=>res.json())
            .then(data=>{
                console.log(data)
                img.src = data.src
            }).catch(err=>{
                console.log('---err')
            })
        }
    </script>
</body>

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
20190427 功能:[修正版]修改ReportBuilder支持QRCode二维码 注: 1、DelphiZXIngQRCode.pas 为用到的二维码生成源码,来源https://github.com/foxitsoftware/DelphiZXingQRCode,版权由原作者所有 2、rbRCL106.bpl 为已经重新编译好的含可以生成QRCode二维码的bpl文件,也是目标文件 3、old文件夹是旧源码备份 4、new文件夹的pas文件为修改后的源码文件 实现步骤: 1、 需要修改RB源码文件,new文件夹的pas文件为已经修改好的了,只要放到rb的source目录下替换掉旧文件则可: ppBarCode2DDrawCmd.pas ppSt2DBarC.pas ppTypes.pas 2、把DelphiZXIngQRCode.pas文件同时拷贝到rb的source目录下 3、使用delphi打开rb的source目录下的rbRCL106.dpk项目,然后编译,输出的rbRCL106.bpl文件为目标文件(一般输出到这个目录下Delphi6\Projects\Bpl) 4、把rbRCL106.bpl文件替换掉原安装rb时的同名文件则可,一般该文件放在windows\system32下,如果是发布给客户用的话,直接把该文件给客户则可 附: a、支持中文,具体可以在TppStMaxiCodeBarcode.GenerateBarcodeBitmap_QRCode设置QRCode.Encoding来支持具体的字符集。 QQ扫码支持中文,但微信目前却不支持。 b、现在二维码的大小是固定,信息容量不大,如果信息量过大就不好识别,61*61的话在100个字以内,89*89的话在250个字以内,129的话在500个字以内, 可以在TppStMaxiCodeBarcode.Create设置长宽实现。参考《QRCode_编码解码标准.pdf》第13页表格对照。 James 20190427 QQ:825818689
您好!可以使用zxing库来生成二维码,使用Java的Graphics2D类来合成背景图和二维码。 以下是示例代码: ```java import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; public class QrCodeGenerator { public static void main(String[] args) throws IOException, WriterException { String qrCodeData = "https://www.example.com"; String filePath = "qrCode.png"; String backgroundImagePath = "background.png"; int size = 300; String fileType = "png"; // Generate QR code QRCodeWriter qrCodeWriter = new QRCodeWriter(); BitMatrix bitMatrix = qrCodeWriter.encode(qrCodeData, BarcodeFormat.QR_CODE, size, size); BufferedImage qrCodeImage = MatrixToImageWriter.toBufferedImage(bitMatrix); // Load background image BufferedImage backgroundImage = ImageIO.read(new File(backgroundImagePath)); // Combine images Graphics2D graphics = backgroundImage.createGraphics(); int qrCodeX = (backgroundImage.getWidth() - qrCodeImage.getWidth()) / 2; int qrCodeY = (backgroundImage.getHeight() - qrCodeImage.getHeight()) / 2; graphics.drawImage(qrCodeImage, qrCodeX, qrCodeY, null); // Save combined image ImageIO.write(backgroundImage, fileType, new File(filePath)); } } ``` 注意,上面的代码需要引入zxing库,可以使用Maven或Gradle等构建工具来引入。 上述代码中,我们首先使用QRCodeWriter类生成二维码的BitMatrix,然后将其转换为BufferedImage。接着,我们使用ImageIO类加载背景图,创建Graphics2D对象来合成二维码和背景图,并最终保存合成后的图片。其中,qrCodeX和qrCodeY用于计算二维码在背景图中的位置。 希望这能帮到您!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值