SVG(可缩放矢量图形)文件通常用于徽标、图标和插图,因为它们可以在不损失质量的情况下调整大小。

但是,有时您需要将SVG文件转换为PNG(便携式网络图形)格式,以便更好地兼容网站或应用程序。

Linux 中,有几种方法可以轻松完成这种转换,既可以使用命令行工具,也可以使用图形应用程序。

1.使用 Inkscape

Inkscape是一个功能强大的开源矢量图形编辑器,支持 SVG 格式,可以轻松将SVG文件转换为PNG格式。

如果您的系统上没有安装Inkscape ,您可以根据您的Linux 发行版使用以下命令进行安装:

sudo apt install inkscape         [在DebianUbuntu 和 Mint上]
sudo yum install inkscape         [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
sudo emerge -a sys-apps/inkscape  [在Gentoo Linux上]
sudo apk add inkscape             [在Alpine Linux上]
sudo pacman -S inkscape           [在Arch Linux上]
sudo zypper install inkscape      [在OpenSUSE上]    
sudo pkg install inkscape         [在 FreeBSD 上]

安装后,您可以使用以下命令将SVG文件转换为PNG。

inkscape input.svg --export-type=png --export-filename=output.png --export-dpi=300

2.使用 ImageMagick

ImageMagick是一个多功能工具,可以从命令行在不同格式之间转换图像,包括将SVG转换为PNG 。

如果您的系统上没有安装ImageMagick,您可以根据您的 Linux 发行版使用以下命令进行安装:

sudo apt install imagemagick [在Debian、Ubuntu 和 Mint上]
sudo yum install ImageMagick [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
sudo emerge -a sys-apps/imagemagick [在Gentoo Linux上]
sudo apk add imagemagick [在Alpine Linux上]
sudo pacman -S imagemagick [在Arch Linux上]
sudo zypper install imagemagick [在OpenSUSE上]
sudo pkg install imagemagick [在 FreeBSD 上]

安装ImageMagick后,您可以通过运行以下命令将SVG文件转换为PNG:

convert input.svg output.png

如果您想为输出PNG文件设置自定义分辨率,请使用该-density选项。

convert -density 300 input.svg output.png

3. 使用 rsvg-convert (librsvg 的一部分)

rsvg-convert是一个命令行工具,是librsvg包的一部分,它是轻量级的,专为转换 SVG 文件而设计。

如果您的系统上未安装rsvg-convert:,您可以根据您的 Linux 发行版使用以下命令进行安装:

sudo apt install librsvg2-bin [在Debian、Ubuntu 和 Mint上]
sudo yum install librsvg2-tools [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
sudo emerge -a gnome-base/librsvg [在Gentoo Linux上]
sudo apk add librsvg [在Alpine Linux上]
sudo pacman -S librsvg [在Arch Linux上]
sudo zypper install librsvg2-tools [在OpenSUSE上]
sudo pkg install librsvg2 [在 FreeBSD 上]

一旦安装了rsvg-convert,您可以通过运行以下命令将 SVG 文件转换为 PNG:

rsvg-convert -o output.png input.svg

-w您可以使用(width)或(height)指定输出图像的宽度或高度-h:

rsvg-convert -w 800 -h 600 -o output.png input.svg

4. SVG 到 PNG 的批量转换

如果您有多个 SVG 文件并想一次将它们全部转换为 PNG,则可以使用简单的 shell 循环。

使用Inkscape:

for file in *.svg; do
  inkscape "$file" --export-type=png --export-filename="${file%.svg}.png"
done

使用ImageMagick:

for file in *.svg; do
  convert "$file" "${file%.svg}.png"
done

此循环将把.svg当前目录中的所有文件转换为.png。

结论

在Linux系统中将 SVG 转换为 PNG 是一项简单的任务,可以使用各种工具完成。无论您喜欢Inkscape之类的图形工具、 ImageMagick的灵活性,还是rsvg-convert之类的快速命令行工具,Linux 都提供了几种简单的方法来实现此转换。

相关推荐
人工智能训练如何影响计算资源的需求?
近年来,人工智能的格局发生了显著变化,计算资源在这一转变中起到了至关重要的作用。随着我们从小规模模型向大规模训练转变,对计算能力的需求急剧上…
头像
技术指南 2024-10-27
872
如何搭建《方舟:生存升级》的独立服务器?
当您的游戏环境成功启动后,吸引玩家的关键在于有效的推广策略。随着《方舟:生存升级》在游戏界的热潮,许多玩家希望搭建自己的独立服务器,以获得个…
头像
技术指南 2024-10-27
391
独立IP地址为您的网站带来的优势是什么?
如果您在使用共享IP服务器时遇到问题,例如网站因攻击而停机,那么可能是时候考虑升级到独立IP了。本文将引导您完成从共享IP到独立IP的转换,…
头像
技术指南 2024-10-27
557
如何解决在联想服务器上运行CentOS时的驱动冲突问题?
许多系统管理员和服务器租赁提供商在联想服务器上运行CentOS时会遇到兼容性问题。本文将深入探讨这些问题的根源,并提供切实可行的解决方案,以…
头像
技术指南 2024-10-26
250
为什么服务器租用提供商会将服务器禁ping?
在服务器租赁和管理领域,您可能会发现服务器会阻止Ping请求。这种现象被称为“Ping阻止”或“ICMP过滤”,在服务器租赁提供商和管理员中…
头像
技术指南 2024-10-26
945
如何选择合适的视频聊天服务器租赁方案?
在挑选合适的视频聊天服务器租赁方案时,有几个重要因素需要考虑。视频聊天应用程序需要稳定且强大的服务器解决方案,以确保用户享受到流畅的交流体验…
头像
技术指南 2024-10-26
901