首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IMagick中使用SVG CSS样式?

如何在IMagick中使用SVG CSS样式?
EN

Stack Overflow用户
提问于 2018-03-28 02:37:41
回答 3查看 1K关注 0票数 1

似乎(PHP) Imagick不接受CSS的样式,即使<style>在SVG的<def>中。对吗?我找不到这方面的参考资料。

如果是这样的话,有什么方法仍然可以获得预期的结果呢?也许用它们的定义替换所有的类?举个例子,如果有

代码语言:javascript
复制
.some-class {
  stroke-dasharray: 5 5;
}

然后将class="some-class"替换为stroke-dasharray="5 5",或者替换为style="stroke-dasharray: 5 5;",因为Imagick似乎能够理解样式属性。

EN

回答 3

Stack Overflow用户

发布于 2018-03-28 17:28:05

似乎是librsvg中的一个bug。如果我将type="text/css"添加到<style>标记中,它就像一个护身符。

票数 1
EN

Stack Overflow用户

发布于 2018-03-29 03:30:49

我将您的代码保存为test.svg文件,并使用Imagemagick 6.9.9.30 Q16 Mac和RSVG (librsvg @2.42.2_0),它工作得很好。我看到一个红色的小方块:

代码语言:javascript
复制
convert test.svg test.png

您的RSVG版本是什么。

代码语言:javascript
复制
convert -list format

会告诉你的。

也许你需要升级RSVG或者你的Imagemagick版本。

票数 1
EN

Stack Overflow用户

发布于 2020-07-30 23:02:40

我最近遇到了同样的问题,因为我在本地主机上工作,而不是在服务器上,因为缺少一个包。我安装了inkscape和Imagick的SVG生成(实际上我使用的是Intervention,驱动程序设置为imagick)

代码语言:javascript
复制
apt-get install inkscape

编辑:一开始,SVG生成根本不起作用,我遵循了这个线程Imagick SVG to JPG error no decode delegate

然而,在那之后,SVG生成工作了,不幸的是,从SVG渲染的PNG是灰度的。我认为SVG中的样式丢失了,这个帖子帮助了我:how to resize an SVG with Imagick/ImageMagick

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49520202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档