2015-10-13 128 views
1

这里非常低质量的图像是我的代码:HTML2Canvas空白图像在iPad和笔记本电脑上

html2canvas($("#divImage"), { 
     onrendered: function(canvas) { 
      console.log ("w: " + canvas.width + "h: " + canvas.height); 
      window.open(canvas.toDataURL()); 
     } 
}); 

该代码使用一台笔记本电脑(Chrome或Safari)给了我一个非常低的分辨率的图像,并给了我一个空白图像在iPad上。控制台中返回的高度和宽度为400x400px,这是页面上显示的大小。它自己的图像有1000x1000px。我环顾四周,发现了一些关于它的帖子,但没有一个解决方案。谢谢。

+0

您可以显示''#divImage''的CSS吗?或者一个完整的可重复片段 – Kaiido

回答

2

您是否尝试过设置其质量?

var fullQuality = canvas.toDataURL("image/jpeg", 1.0); 
// data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...9oADAMBAAIRAxEAPwD/AD/6AP/Z" 
var mediumQuality = canvas.toDataURL("image/jpeg", 0.5); 
var lowQuality = canvas.toDataURL("image/jpeg", 0.1); 
+0

试过这个解决方案,现在我在ipad上得到一个黑盒子400x400而不是白盒子。一台笔记本电脑的质量一样差。看起来放大函数上的“canvas”参数已经处于低质量分辨率,所以如果我们将其设置为1,它仍然是相同的质量差。 – flacoding

+0

它似乎html2canvas提供模糊的图像。 http://stackoverflow.com/questions/22803825/html2canvas-generates-blurry-images/22819006#22819006。试试rasterizeHTML.js作为替代? –

+0

我不认为这个会工作,因为我试图获得DIV的打印屏幕。在div里面,我有2个IMG(一个.png,另一个是base64)和一个串在一起。 – flacoding

相关问题