Как преобразовать SVG в PNG в Linux

Файлы SVG (Scalable Vector Graphics) обычно используются для логотипов, иконок и иллюстраций, поскольку их размер можно изменять без потери качества.

Однако иногда необходимо преобразовать файлы SVG в формат PNG для лучшей совместимости с веб-сайтами или приложениями.

В Linux есть несколько способов легко выполнить это преобразование, используя как инструменты командной строки, так и графические приложения.

1. Использование Inkscape

Inkscape – это мощный редактор векторной графики с открытым исходным кодом, который поддерживает формат SVG и может быть легко использован для преобразования файлов SVG в формат PNG.

Если Inkscape не установлен в вашей системе, вы можете установить его с помощью следующих команд в зависимости от дистрибутива Linux:

sudo apt install inkscape         [On Debian, Ubuntu and Mint]
sudo yum install inkscape         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/inkscape  [On Gentoo Linux]
sudo apk add inkscape             [On Alpine Linux]
sudo pacman -S inkscape           [On Arch Linux]
sudo zypper install inkscape      [On OpenSUSE]    
sudo pkg install inkscape         [On 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         [On Debian, Ubuntu and Mint]
sudo yum install ImageMagick         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/imagemagick  [On Gentoo Linux]
sudo apk add imagemagick             [On Alpine Linux]
sudo pacman -S imagemagick           [On Arch Linux]
sudo zypper install imagemagick      [On OpenSUSE]    
sudo pkg install imagemagick         [On 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         [On Debian, Ubuntu and Mint]
sudo yum install librsvg2-tools       [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a gnome-base/librsvg     [On Gentoo Linux]
sudo apk add librsvg                  [On Alpine Linux]
sudo pacman -S librsvg                [On Arch Linux]
sudo zypper install librsvg2-tools    [On OpenSUSE]    
sudo pkg install librsvg2             [On FreeBSD]

После установки rsvg-convert вы можете конвертировать SVG-файл в PNG, выполнив следующую команду:

rsvg-convert -o output.png input.svg

Вы можете указать ширину или высоту выходного изображения, используя -w (ширина) или -h (высота):

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

4. Пакетное преобразование SVG в PNG

Если у вас есть несколько SVG-файлов и вы хотите конвертировать их все в PNG одновременно, вы можете использовать простой цикл оболочки.

Использование 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.

Заключение

Преобразование SVG в PNG в Linux – это простая задача, которую можно решить с помощью различных инструментов. Независимо от того, предпочитаете ли вы графический инструмент, такой как Inkscape, гибкость ImageMagick или быстрый инструмент командной строки, такой как rsvg-convert, Linux предоставляет несколько простых методов для этого преобразования.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)

Опубликовать