Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 html2canvas插件画布渲染模糊_Javascript_Html2canvas - Fatal编程技术网

Javascript html2canvas插件画布渲染模糊

Javascript html2canvas插件画布渲染模糊,javascript,html2canvas,Javascript,Html2canvas,我正在使用html2canvas插件将div元素转换为图像 它可以工作,但生成的图像有点模糊。这是截图 有什么解决办法吗?谢谢。你能为你的代码创建一个可用的提琴/代码笔/插画器吗?因为这些信息是不够的。图像的实际大小是多少?如果图像被渲染得更大或更短,我想它会变得模糊。如果图像是矢量图像,则不会出现模糊。这是一个苛刻的主题,在这里已经讨论过很多次,归结为字体是在亚像素级别渲染的,而画布无法访问该亚像素级别。您可以看到渲染的图形如何包含彩色值,这是为了充分利用渲染的效果。现在,画布(由html

我正在使用html2canvas插件将div元素转换为图像

它可以工作,但生成的图像有点模糊。这是截图


有什么解决办法吗?谢谢。

你能为你的代码创建一个可用的提琴/代码笔/插画器吗?因为这些信息是不够的。图像的实际大小是多少?如果图像被渲染得更大或更短,我想它会变得模糊。如果图像是矢量图像,则不会出现模糊。这是一个苛刻的主题,在这里已经讨论过很多次,归结为字体是在亚像素级别渲染的,而画布无法访问该亚像素级别。您可以看到渲染的图形如何包含彩色值,这是为了充分利用渲染的效果。现在,画布(由html2canvas使用)如何呈现这种字体。正如您所看到的,只有像素级的抗锯齿被应用。但h2c似乎没有这个选项。。。因此,唯一的解决办法是传递一个已经初始化的画布(
canvas.getContext('2d',{alpha:false});html2canvas(elem,{canvas:canvas})
,但这意味着我们必须自己调整它的大小。因此,更好的办法是向h2c提出一个FR,以便niklavsh允许这一选项。
html2canvas($("#captureDiv"),{
    background :'#FFFFFF',
    onrendered: function(canvas) {
       document.getElementById("canvasHolder").appendChild(canvas);
       var imgsrc = canvas.toDataURL("image/png");
       $("#image").attr('src',imgsrc);
    }
});