Javascript PHP使用imagecreatefromstring将SVG字符串转换为图像
以下javascript代码将SVG字符串转换为图像blob,然后可用于在浏览器中显示: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
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,因此您可能必须找到第三方库,因为所有其他库/扩展都无法显示正确的转换图像。