我正在使用https://github.com/vidalab/banquo-server从使用phantomjs的svg创建一个png。
我不知道phantomjs或我的svg是否存在问题,这就是为什么我在这里发布而不是在github(更快的响应)。
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" id="creator-svg" width="488" height="350">
<desc>Created with Snap</desc>
<defs>
<pattern x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" id="patternSibdh4mpauu" viewBox="0 0 20 20">
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+CjxyZWN0IHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgZmlsbD0iIzI4MjgyOCI+PC9yZWN0Pgo8Y2lyY2xlIGN4PSIzIiBjeT0iNC4zIiByPSIxLjgiIGZpbGw9IiMzOTM5MzkiPjwvY2lyY2xlPgo8Y2lyY2xlIGN4PSIzIiBjeT0iMyIgcj0iMS44IiBmaWxsPSJibGFjayI+PC9jaXJjbGU+CjxjaXJjbGUgY3g9IjEwLjUiIGN5PSIxMi41IiByPSIxLjgiIGZpbGw9IiMzOTM5MzkiPjwvY2lyY2xlPgo8Y2lyY2xlIGN4PSIxMC41IiBjeT0iMTEuMyIgcj0iMS44IiBmaWxsPSJibGFjayI+PC9jaXJjbGU+Cjwvc3ZnPg==" preserveAspectRatio="none" x="0" y="0" width="20" height="20"/>
</pattern>
</defs>
<g>
<circle cx="244" cy="178" r="140" fill="url('#patternSibdh4mpauu')" stroke="#cdcdcd" style="stroke-width: 1px;"/>
<circle cx="244" cy="178" r="120" fill="url('#patternSibdh4mpauu')" stroke="#cdcdcd" style="stroke-width: 1px;"/>
</g>
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://enterprise.app/badge-builder/resize/bet.png" preserveAspectRatio="none" x="140" y="140" width="300" height="298" transform="matrix(0.3733,-0.1067,0.1067,0.3733,125.9067,129.04)" class="" style="touch-action: none; -webkit-user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0.6;"/>
</svg>
是我的svg代码。适用于所有浏览器,没有错误。
在banquo服务器失败之后,我去了phantomjs文档并拿起了rasterize.js脚本并从终端进行了测试,他们的示例svg工作,我没有。所以我开始剥离比特,这实际上是导致问题的base64编码模式。
有没有人知道svg格式是否不正确或者phantomjs是否存在base64encoded格式的问题?
问候
编辑:
删除了base64encoded模式并更改为文件路径,仍然无法正常工作。删除文件的内容,它可以工作......
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15">
<rect width="50" height="50" fill="#282828"/>
<circle cx="3" cy="4.3" r="1.8" fill="#393939"/>
<circle cx="3" cy="3" r="1.8" fill="black"/>
<circle cx="10.5" cy="12.5" r="1.8" fill="#393939" />
<circle cx="10.5" cy="11.3" r="1.8" fill="black"/>
</svg>
是模式的文件内容
编辑2:
开始删除模式svg的位,如果xmlns="http://www.w3.org/2000/svg"
被删除但图像不显示,则会运行...