【问题标题】:Convert html content to image using javascript使用 javascript 将 html 内容转换为图像
【发布时间】:2014-12-06 11:22:11
【问题描述】:

我有一个包含两个或三个图像的 div 元素。其中一个图像是具有一定比例和旋转的变换。我只想将整个 div 转换为单个图像。我使用了 html2canvas 并且我是它的忠实粉丝,但我的问题是具有转换属性的图像在所有浏览器中都不相同,它在 chrome 中运行良好,但在 Mozilla 和 IE 中运行良好。我也在使用最新版本的 html2canvas支持转换。您能否建议我另一种仅使用 javascript 而不是 jquery 将 div 转换为图像的方法。

【问题讨论】:

标签: javascript html canvas html2canvas


【解决方案1】:

如果您只需要对图像使用此功能并需要跟踪转换,那么我建议您仅使用画布。

在该 div 中插入一个画布元素而不是图像,并使用相应的变换(平移、旋转等)在其上绘制您需要的图像。从那里只需调用toDataURL() 将所有内容保存为单个图像。

请注意,CORS 限制适用(图像必须从与页面相同的服务器加载,或者允许托管服务器在 CORS 之外使用 - 一个例外是通过输入字段上传的图像)。

有很多关于如何设置画布和使用旋转/变换绘制图像的示例。

【讨论】:

  • 你好 Ken Fyrstenberg!!感谢您的响应。我尝试了这种方法,但它并没有解决我的问题,因为在我的 div 中只显示了部分图像。我想捕获可见的 div。
  • @Ahtisham 只需使用 drawImage 的裁剪参数来绘制您想要的图像部分。
  • 这个方法会变得更复杂,因为我有不同的场景,但我会尝试它。你能建议我另一种方法,而不像 html2canvas 这样在画布上绘制多个图像。
  • @Ahtisham 可让您将其导出为图像?有 SVG 和 foreignObject,但与画布一起使用时限制更大。 html2canvas 必须使用与答案中显示的相同的技术(用于图像)。
  • -感谢您的响应。如果我没有其他方法,我会尝试画布剪辑和遮罩技术。
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 2012-05-18
  • 2013-09-18
相关资源
最近更新 更多