gpt4 book ai didi

svg - 将 svg 转换为 png imagemagick 路径周围的黑色边框

转载 作者:行者123 更新时间:2023-12-05 04:01:29 35 4
gpt4 key购买 nike

我在 macOs Mojave 10.14.3 (18D109)

我的 imagemagick 详细信息(随 brew 安装)

convert -version
Version: ImageMagick 7.0.8-35 Q16 x86_64 2019-03-25 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib freetype heic jng jp2 jpeg lcms ltdl lzma openexr png tiff webp xml zlib

我有一个基本的 svg(取自 W3Schools 示例):

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 52 52">
<path fill="#fff" d="M22 0 L33 52 L12 42 Z">
</path>
</svg>

看起来像这样(加普林):

Gapplin view

现在当我像这样将它转换为 png 时:

convert -background none -density 9600 -resize 32x "myFile.svg" "myFile.png"

我得到了一个完美的图像,除了它有一个黑色边框:

after conversion

我尝试了与 colorblack 有关的 imagemagick 命令选项的几乎所有变体,遗憾的是它从来没有出现我想要的 - 透明背景,纯白色路径(如 SVG 上的填充所述)。

有什么建议吗?

最佳答案

在 ImageMagick 中,SVG 文件可以通过以下三种工具中的任何一种来呈现:Imagemagick 的 MSVG/XML、RSVG delegate 和 Inkscape,通常按准确度递增的顺序排列。

我刚刚在 Inkscape 0.92.4 上尝试了以下命令,结果完全是白色的。如果安装了 Inkscape,Imagemagick 将自动使用它。但在这种情况下,它不能很好地处理该文件。

magick test.svg test2.png


但是如果我添加 -background none 就可以正常工作

magick -background none test.svg test2.png


我在透明背景上得到一个白色三角形。

或者如果我想要黑色背景

magick -background black test.svg test2.png


当我强制 Imagemagick 使用 MSVG 时,我得到一个白色三角形,在白色背景上有一个简单的黑色轮廓。因此,您的评论再次不正确。

magick MSVG:test.svg test2.png


如果我添加 -background none,那么我会在透明背景上得到带有黑色轮廓的白色三角形。

magick -background none MSVG:test.svg test2.png


但如果我只想要黑色背景,那么

magick -background black MSVG:test.svg test2.png


然后我在黑色背景上得到一个白色三角形。但我怀疑白色三角形比它的黑色边框略小。

当我通过在 delegates.xml 文件中创建条目强制使用 RSVG 2.44.12 时,我在透明背景上得到一个白色三角形,我认为这就是您想要的。

magick RSVG:test.svg test3.png


magick -background none RSVG:test.svg test3.png


您可以通过以下方式判断您的 Imagemagick 是否具有 MSVG/XML 或 RSVG

magick -list format


并查找以 SVG 开头的行。在该行的末尾,它会显示 XML 或 RSVG。您无法使用此方法判断 Inkscape。

检查您使用的 SVG 渲染器及其版本。还有libpng的版本。我的是 1.6.36

根据您的版本信息,我没有看到 rsvp 列出。所以我假设您使用的是 MSVG,但如果您在系统上安装了 Inkscape,则可能是 Inkscape。

我在 Mac OSX Sierra 上使用 Imagemagick 7.0.8.35 Q16。

关于svg - 将 svg 转换为 png imagemagick 路径周围的黑色边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369613/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com