gpt4 book ai didi

image - 如何在保持宽高比但更改范围的同时将SVG转换为PNG?

转载 作者:行者123 更新时间:2023-12-03 15:25:23 26 4
gpt4 key购买 nike

我正在尝试将SVG转换为PNG。 SVG是一个非正方形的矩形。我希望图像的长宽比保持不变,因此需要填充图像的范围(透明)。

我在OS X Mavericks 10.9.2上。

我已经尝试了3种工具,但每种工具都有问题:

使用ImageMagick:

convert -background none -resize 200x200 -gravity center -extent 200x200 rect.svg rect-imagemagick.png 

开始 -

enter image description here

结尾 -

图像为具有正确长宽比的正方形,但模糊。 我已经看到其他用户通过imagemagick将SVG转换为PNG来报告此问题。我已经升级了imagemagick以使用rsvg(通过brew),如以下版本的代表所示。

版本:
# convert --version
Version: ImageMagick 6.9.1-3 Q16 x86_64 2016-01-23 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC Modules
Delegates (built-in): bzlib cairo fontconfig freetype jng jpeg ltdl lzma png rsvg tiff xml zlib

使用rsvg:
rsvg-convert -a -w 200 -h 200 rect.svg > rect-rsvg.png

开始 -

enter image description here

结尾 -

使用正确的宽高比可以清晰显示图像,但是我看不到使其变为正方形(扩展图像)的方法。

版本:
# rsvg-convert --version
rsvg-convert version 2.40.9

使用Inkscape:
inkscape -z -e rect-inkscape.png -w 200 -h 200 rect.svg

开始 -

enter image description here

结尾 -

图像为方形且清晰,但宽高比不正确。

版本:
# inkscape --version
W: AppleCollationOrder setting not found, using AppleLocale.
Setting LANGSTR from AppleLocale: en
Overriding empty LANG from /usr/share/locale/locale.alias
Setting Language: en_US.UTF-8
Inkscape 0.48.5 r10040 (Jul 12 2014)

最佳答案

好的,我意识到如果结合使用以下两个实用程序,这将得到一个简单的答案:

rsvg-convert -a -w 200 -h 200 rect.svg > rect-rsvg.png
convert -background none -resize 200x200 -gravity center -extent 200x200 rect-rsvg.png rect-correct.png

首先使用 rsvg-convert转换为PNG,它可以正确转换但不能扩展。然后将imagemagick从PNG扩展到PNG。

关于image - 如何在保持宽高比但更改范围的同时将SVG转换为PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34998213/

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