Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在没有模糊图像的情况下将隐藏的画布对象复制到图像_Javascript_Html_Image_Canvas - Fatal编程技术网

Javascript 如何在没有模糊图像的情况下将隐藏的画布对象复制到图像

Javascript 如何在没有模糊图像的情况下将隐藏的画布对象复制到图像,javascript,html,image,canvas,Javascript,Html,Image,Canvas,我正在向div渲染二维码,但是div是隐藏的。当我将画布复制到具有正确大小的图像时,图像会变得模糊。 var children=$trial.children; var canvas=children[0] var ctx = canvas.getContext('2d'); //ctx.scale(3,3); var img = new Image(); img.width = "300"; img.src = canvas.toDataURL(); $("#imagetrial").ht

我正在向div渲染二维码,但是div是隐藏的。当我将画布复制到具有正确大小的图像时,图像会变得模糊。 var children=$trial.children; var canvas=children[0]

var ctx = canvas.getContext('2d');
//ctx.scale(3,3);

var img = new Image();

img.width = "300";
img.src = canvas.toDataURL();
$("#imagetrial").html(img);
我试着像在注释代码中那样缩放它,但是原始图像变小了,当拉伸图像时,它变得模糊了。如果div没有隐藏,代码工作正常,但我无法显示画布,我只对传递到弹出打印页面的数据url感兴趣


有人知道如何调整隐藏div中画布的大小,以便正确复制吗?

您可以像这样设置屏幕上或屏幕外画布的宽度:

canvas.width = 300;
无论画布和图像大小是否匹配,您可能会遇到一些亚像素问题

如果在画布上生成的图像包含以亚像素坐标绘制的图形元素或图像,则每个画布都会应用无法关闭的抗锯齿


请参阅本文:

我通过将div放置在屏幕外来隐藏它,然后画布被正确复制。

首先,不要将字符串值设置为width属性。删除这些引号