Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
使用raphael、canvg和jquery将SVG转换为图像(dataURI)_Jquery_Canvas_Svg_Raphael - Fatal编程技术网

使用raphael、canvg和jquery将SVG转换为图像(dataURI)

使用raphael、canvg和jquery将SVG转换为图像(dataURI),jquery,canvas,svg,raphael,Jquery,Canvas,Svg,Raphael,我使用Raphael.js、canvg和jquery将svg转换为图像 但要使图像在矩形视图端口的中心 svg以及png。并使用chrome将其调整为特定尺寸,如800*600等 我得到的结果图像是小的,不是以矩形为中心的。 我怎样才能做到这一点。我有JSFIDLE设置。在这里 此外,我还得到了“ERROR:Element'html'尚未实现。”在fiddle错误中,尽管我没有前导空格(或者我不知道) 我没有“ERROR:Element'html'尚未实现” 本地pc 非常感谢您的帮助。您试图从

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

但要使图像在矩形视图端口的中心 svg以及png。并使用chrome将其调整为特定尺寸,如800*600等

我得到的结果图像是小的,不是以矩形为中心的。 我怎样才能做到这一点。我有JSFIDLE设置。在这里 此外,我还得到了“ERROR:Element'html'尚未实现。”在fiddle错误中,尽管我没有前导空格(或者我不知道)

我没有“ERROR:Element'html'尚未实现” 本地pc


非常感谢您的帮助。

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

  • 要转换的SVG元素
  • 要用于将SVG转换为PNG的Canvas元素
Canvg不喜欢有多个元素要解析,因此抱怨“HTML”

看看这把你的小提琴:

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

      var svg = $('#map').html().replace(/>\s+/g, ">").replace(/\s+</g, "<").replace(/<canvas.+/g,"");

var svg=$('#map').html().replace(/>\s+/g,“>”).replace(/\s+您试图从包含两个元素的html字符串创建画布:

  • 要转换的SVG元素
  • 要用于将SVG转换为PNG的Canvas元素
Canvg不喜欢有多个元素要解析,因此抱怨“HTML”

看看这把你的小提琴:

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

      var svg = $('#map').html().replace(/>\s+/g, ">").replace(/\s+</g, "<").replace(/<canvas.+/g,"");

var svg=$('#map').html().replace(/>\s+/g,“>”).replace(/\s+I只是尝试将svg转换为画布,然后转换为图像,这是最好的方法??我只是尝试将svg转换为画布,然后转换为图像,这是最好的方法吗??