Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
Javascript PHP使用imagecreatefromstring将SVG字符串转换为图像_Javascript_Php_Svg - Fatal编程技术网

Javascript PHP使用imagecreatefromstring将SVG字符串转换为图像

Javascript PHP使用imagecreatefromstring将SVG字符串转换为图像,javascript,php,svg,Javascript,Php,Svg,以下javascript代码将SVG字符串转换为图像blob,然后可用于在浏览器中显示: var data = '<svg xmlns="http://www.w3.org/2000/svg" width="390" height="65">' + '<rect x="0" y="0" width="100%" height="100%" fill="#7890A7" stroke-width="20" stroke="#ffffff" ></re

以下javascript代码将SVG字符串转换为图像blob,然后可用于在浏览器中显示:

 var data = '<svg xmlns="http://www.w3.org/2000/svg" width="390" height="65">' +
        '<rect x="0" y="0" width="100%" height="100%" fill="#7890A7" stroke-width="20" stroke="#ffffff" ></rect>' +
        '<foreignObject x="15" y="10" width="100%" height="100%">' +
        '<div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">' +
        ' <em>I</em> am' +
        '<span style="color:white; text-shadow:0 0 20px #000000;">' +
        ' HTML in SVG!</span>' +
        '</div>' +
        '</foreignObject>' +
        '</svg>';

    var DOMURL = window.URL || window.webkitURL || window;

    var img = new Image();
    var svg = new Blob([data], {type: 'image/svg+xml;charset=utf-8'});
    var url = DOMURL.createObjectURL(svg);
var数据=“”+
'' +
'' +
'' +
“我是”+
'' +
“SVG中的HTML!”+
'' +
'' +
'';
var DOMURL=window.URL | | window.webkitURL | | window;
var img=新图像();
var svg=newblob([data],{type:'image/svg+xml;charset=utf-8'});
var url=DOMURL.createObjectURL(svg);

问题是我想用PHP做同样的事情。我考虑使用
imagecreatefromstring
函数。这是正确的方法吗?

来自PHP手册中的
imagecreatefromstring
()

imagecreatefromstring()返回表示 从给定图像获得的图像。这些类型将被自动删除 检测到您的PHP版本是否支持它们:JPEG、PNG、GIF、WBMP和 GD2


SVG不会出现在链接页面的任何位置。

您找到解决方案了吗?我试图将SVG发送到服务器并将其转换为PNG@SolidSnake不幸的是没有。我们最终使用了Javascript实现。由于内置的
imagecreatefromstring
不支持svgI,最终使用Inkscape将SVG转换为PNG,因此您可能必须找到第三方库,因为所有其他库/扩展都无法显示正确的转换图像。