qrcode加背景图

Posted wrongcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qrcode加背景图相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的推广</title>
</head>
<body>
    <input id="code-url" type="hidden" value="http://www.baidu.com"/><br />
    <div id="mid-qrcode"></div>
    <div id="divOne"></div>

<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
<script type="text/javascript">
    $(function(){
        var qrcode= $(#divOne).qrcode({
            text: $("#code-url").val(),
            width: 150,
            height: 150,
        }).hide();
        var canvas=qrcode.find(canvas).get(0);
        var data_codeImg = canvas.toDataURL(image/jpg);//图片base64位字符串
        data = [
            bg.png, //背景海报图
            data_codeImg
        ], base64 = [];
        function draw(fn) {
            var c = document.createElement(canvas),  // 获取canvas对象( 通过选择器选择canvas元素 )
                ctx = c.getContext(2d),  // 通过canvas获取他的上下文绘制环境( context )
                len = data.length;
            c.width = 1125;  // 画布宽   canvas的默认宽度与高度:宽度:300,高度:150 注:canvas的宽度与高度,只能通过行间属性或者js动态修改,不要通过样式去修改,否则获取到的宽度与高度不准
            c.height = 536;  // 画布高
            ctx.rect(0, 0, c.width, c.height);  // 创建矩形 参数:绘制起点x坐标,绘制起点y坐标,矩形宽(像素),矩形高(像素)
            ctx.fillStyle = #fff;
            ctx.fill();
            function drawing(n) {
                if (n < len) {
                    var img = new Image;
                    img.src = data[n];
                    img.onload = function () {
                        if (n === 1) {
                            // 画图 参数:图片对象,相对画布的起点x坐标,
                            // 相对画布的起点y坐标,绘制的图片宽度(二维码,px),绘制的图片高度(二维码,px)
                            ctx.drawImage(img, 60, 160, 250, 250);
                        }
                        else if(n === 0){
                            ctx.drawImage(img, 0, 0, c.width,  c.height);
                        }
                        drawing(n + 1);//递归
                    }
                } else {
                    //保存生成作品图片
                    base64.push(c.toDataURL("image/jpeg", 0.8));
                    fn();
                }
            }
            drawing(0);
        }
        // 调用
        function hecheng() {
            draw(function () {
                document.getElementById("mid-qrcode").innerHTML = <img src="+base64[0]+">;
            });
        }
        hecheng()
    });
</script>
</body>
</html>

 

以上是关于qrcode加背景图的主要内容,如果未能解决你的问题,请参考以下文章

炫酷 CSS 背景效果的 10 个代码片段

qrcode.js怎么给生成的二维码加id

python的qrcode怎么设置文字背景

asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像

[Asp.Net]QRCode生成二维码(续)-在二维码图片中心加Logo或图像

HTML里面给一个DIV加背景图,背景图是一个边框,四周有空白区域,怎么实现去掉四周的白色区域。