转换前ImageMagick重绘svg图像

I have a script, which create svg diagram.

enter image description here

After creating I use ImageMagick to convert svg to image.

$image = new Imagick('image.svg');
$image->setImageFormat("png24");
$image->setCompression(imagick::COMPRESSION_UNDEFINED);
$image->setCompressionQuality(100);
//$image->resizeImage(1040, 854, imagick::FILTER_UNDEFINED, 1);
$image->writeImage('image.png');
$image->clear();
$image->destroy();

But when I convert svg, image have points in other places.

enter image description here

doulian1852
doulian1852 结果我通过svgToPngJS库进行转换。转换后效果很好。非常感谢!
大约 2 年之前 回复
dongma7796
dongma7796 我不知道通过SSH更新。
大约 2 年之前 回复
douqu2712
douqu2712 我的托管服务提供商通过一些权限进行更新,而不是通过请求=(我有机会获得带root的VPS服务器并自行更新。是否有一些手册用SSH进行更新?
大约 2 年之前 回复
duanniu4106
duanniu4106 您可能在IM版本的Linux共享系统上。它说6.7.2.7,其数量是古老的。然而,它是在17/22/17最后修补的,这是一年多了。您应该询问您的托管服务提供商,看看是否有更新的补丁并应用它。或者让他们升级RSVG。我不认为他们会让你自己做任何修改。您可以找到将在您的私人目录中安装当前版本的提供程序。一些托管服务将这样做。
大约 2 年之前 回复
duanhong1985
duanhong1985 我有ImageMagick6.7.2-72017-03-22Q16版。尝试使用SSH进行转换,获得相同的图像(使用奇怪的坐标)。是否可以自己从SSH更新RSVG?
大约 2 年之前 回复
doubi5127
doubi5127 续:你需要Imagemagick6.7.9-0或更高才能使用Inkscape。但我的猜测是你只需要升级RSVG
大约 2 年之前 回复
dou11655853
dou11655853 是的,您的Imagemagick确实显示已安装RSVG。我使用Imagemagick6.9.10.3Q16和RSVG2.42.2使用此命令在MacOSXSierra上获得正确的结果:convertkoleso.svgkoleso.png。你的RSVG相当陈旧。尝试升级它。你的平台和Imagemagick版本是什么?也许它需要升级。但请尝试升级RSVG或安装Inkscape。Imagemagick将优先使用它,如果找到它和Imagemagick的合理最新版本。在更改任何内容之前,它是否在命令行中正常工作?
大约 2 年之前 回复
duanshan3331
duanshan3331 我理解了ssh,获得了有关格式的数据。请点击这里。据我所知,我有RSVG渲染器。
2 年多之前 回复
dsjuimtq920056
dsjuimtq920056 您的svg文件在Imagemagick6.9.10.2Q16MacOSX中使用Imagemagick中的RSVG委托转换为我。Imagemagick可以使用3个渲染器:Inkscape,RSVG和它自己的内部MSVG/XML渲染器,从最好到最差。您可以使用convert-list格式查看正在使用的SVG渲染器。使用最新的Inkscape或RSVG可获得最佳效果。
2 年多之前 回复
doulingqiu4349
doulingqiu4349 $current=file_put_contents('koleso.svg','<?xmlversion=“1.0”standalone=“no”?><!DOCTYPEsvgPUBLIC“-//W3C//DTDSVG20010904//EN”“http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">'.$_POST['data'])
2 年多之前 回复
duanliexi1052
duanliexi1052 以及服务器如何将其保存到文件中?
2 年多之前 回复
douyun6781
douyun6781 脚本在这里。我删除所有多余的代码。
2 年多之前 回复
drk49438
drk49438 我找不到任何PHP接口来获取委托信息,phpinfo()没有列出它。file_put_contents是同步的,所以不是这样。但是我想的时间越长,我就越不能想象渲染错误可能导致观察到问题的情况。我仍然猜测它是你的SVG创建脚本。你能分享一下吗?
2 年多之前 回复
douwo4837
douwo4837 SVG文件由file_put_contents函数创建。它没有回调函数。
2 年多之前 回复
dtdvlazd56637
dtdvlazd56637 抱歉,我不知道如何在虚拟主机中使用CLI。我可以从phpinfo()给你ImageMagick版本和格式
2 年多之前 回复
dqdfpmmi022763
dqdfpmmi022763 不会超时,但要确保使用同步写操作,或者在写完成后在回调函数中进行读操作。你能否发布命令行识别-list格式的答案grep-isvg和identify-listdelegate|grep-isvg找出ImageMagick使用的渲染器?
2 年多之前 回复
dsaff82024
dsaff82024 每个部门有8个部门和10个答案
2 年多之前 回复
douzhanglun4482
douzhanglun4482 嗯...你的意思是我需要在生成png图像之前超时几秒钟?
2 年多之前 回复
doucu9677
doucu9677 可能是时间问题,我。即在写完之前尝试从磁盘读取文件进行转换?-为什么8个扇区有10个路径定义?
2 年多之前 回复
duanfen1992
duanfen1992 有一些点,用于创建SVG:链接但只有9和10个字符串,svg转换良好
2 年多之前 回复
doukuizuo1795
doukuizuo1795 iamlife.ru/wheels/koleso.svg
2 年多之前 回复
douzhuican0041
douzhuican0041 作为文件可能是最好的。
2 年多之前 回复
douzhang8840
douzhang8840 当然。在文件中或使用XML代码?
2 年多之前 回复
douche3791
douche3791 您是否能够提供原始SVG文件以便对其进行测试?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问