SVG使用raphael,canvg和jquery进行映像(dataURI)

时间:2012-10-11 14:15:29

标签: jquery canvas svg raphael

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

  

但是想要将图像放在矩形视口的中心    svg 以及 png 。并使用chrome将其调整为800 * 600等特定大小。

我得到的结果图像很小而且没有居中到矩形。  我怎么能实现这个目标。我有jsfiddle设置。这里The fiddle I have compiled。 另外我得到“错误:元素'html'尚未实现。”在小提琴错误中虽然我没有前导空格(或者我没有想法)。

  

我没有“ERROR:Element'html'尚未实现。”错误   本地电脑。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分: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,"");