1

我已经使用 Raphael.js、canvg 和 jquery 将 svg 转换为图像。

但是想在 svgpng中使图像位于矩形视口的中心。并使用 chrome 将其调整为特定大小,如 800*600 等。

我得到的结果图像很小且不以矩形为中心。我怎样才能做到这一点。我有 jsfiddle 设置。这里的小提琴我已经编译。此外,尽管我没有前导空格(或者我不知道),但我在小提琴错误中收到“错误:元素'html'尚未实现。”。

我没有“错误:尚未实现元素'html'”。本地电脑出错。

非常感谢您的帮助。

4

1 回答 1

4

您试图从包含两个元素的 HTML 字符串创建画布:

  • 您要转换的 SVG 元素
  • 您想用来将 SVG 转换为 PNG 的 Canvas 元素。

Canvg 不喜欢解析多个元素,因此抱怨“HTML”。

看看你的这个小提琴:http: //jsfiddle.net/LVZEX/2/

它所做的只是添加一个额外的替换,从从地图 div 中提取的 HTML 字符串的末尾删除 canvas 标签

      var svg = $('#map').html().replace(/>\s+/g, ">").replace(/\s+</g, "<").replace(/<canvas.+/g,"");
于 2012-10-11T15:27:03.837 回答