html js 打印 图片不显示 canvas

本文介绍如何解决HTML5中使用Canvas打印图片时显示不全的问题,通过将Canvas转换为Image元素,确保打印时图片完整呈现。文章提供具体代码示例,包括获取Canvas元素、创建Image对象及替换原有Canvas的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html js 打印 图片不显示 canvas
出现这个原因是因为 用的是 canvas
我们要将canvas 转成img 将之前的 canvas 替换掉 !!!

要打印的结构

在这里插入图片描述
在这里插入图片描述
你们的结构可能和我不一样, 我的结构是
在这里插入图片描述

 		var ids = document.getElementById(""+id).getElementsByTagName('canvas')[0]; //通过ID 获取 子元素 canvas
        var image = new Image(); //创建IMG
        image.src = ids.toDataURL("image/png"); //生成img
        $("#"+id).html(image)  //再将canvas 替换成 img

总体代码

var osload = function(){
        $('.rf-qr-p').each(function (letter, rows) { //查询  canvas 元素 然后 循环生成二维码
            let value = $(rows).data('src');
            // let id = $(rows).data('id');
            $(rows).qrcode({
                text: '' + value,
                width: 200,
                height: 200,
            });
            catoimg(rows,value) //这里是替换
        })
    }
    var catoimg = function(canvas,id){

        var ids = document.getElementById(""+id).getElementsByTagName('canvas')[0];
        var image = new Image();
        image.src = ids.toDataURL("image/png");
        $("#"+id).html(image)
    }

让我们试一下效果
在这里插入图片描述
对比一下现在的元素结构
不显示前
在这里插入图片描述
修改后:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值