Автор Тема: Пакетная конвертация с ресайзом SVG to SVG и SVG to PNG  (Прочитано 1949 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Всем привет!

Нужно сделать пакетную конвертацию изображений (иконок) из SVG в PNG без потери качества с изменением размеров. Очень давно как-то делал командой из терминала, но можно и через какую-нибудь тулзу, если такая есть. Беглое гугление результата не дало.
« Последнее редактирование: 10 Апрель 2016, 02:00:10 от CoolAller »
 


Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #2 : 02 Апрель 2016, 17:58:08 »
Yrii, сейчас пробую с помощью inkscape:

for i in *; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'` -w 48 -h 48; done
Опции: -w и -h делают ресайз. Не нашел как задать Best Quality.

Командой convert не получается сделать пакетное преобразвание и она делает белый фон у png.
« Последнее редактирование: 02 Апрель 2016, 18:09:53 от CoolAller »
 

Yrii

  • Гость
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #3 : 02 Апрель 2016, 18:14:12 »
она делает белый фон у png.
а если добавить опцию -transparent?
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #4 : 02 Апрель 2016, 18:19:32 »
Yrii, такой опции нет.
 

Yrii

  • Гость
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #5 : 02 Апрель 2016, 18:24:50 »
хм, ну в man convert у меня эта опция описано, но возможно я не правильно понял/перевел её значение, и она вам может и не поможет :-)
Цитировать
-transparent color   make this color transparent within the image
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #6 : 02 Апрель 2016, 18:29:07 »
Yrii, да я ее тоже видел, но даже если бы она и работала я не знаю как там сделать пакетную конвертацию.

Cообщение объединено 02 Апрель 2016, 21:09:26
Нашел еще такой способ:
Устанавливаем librsvg2(-bin) , для debian/ubuntu: # apt-get install librsvg2-bin
Заходим в каталог с svg файлами из терминала.
Конвертируем .svg в .png:
for i in ./*.svg ; do rsvg-convert $i -o `echo $i | sed -e 's/svg$/png/'`; done
Качество конветации низкое.

Пробовал делать так:
Сначала конвертировал SVG в PNG при помощи Inkscape:
sudo aptitude install inkscapeВ терминале переходим в папку с файлами, которые хотим конвертировать:
for i in *; do inkscape $i --export-png=`echo $i | sed -e 's/svg$/png/'` -d 2400; doneГде аргумент -d, --export-dpi=DPI (разрешение изображения)
Потом сделал ресайз с помощью ImageMagick:
sudo aptitude install imagemagickВ терминале переходим в папку с файлами, у которых нужно изменить размер:
for f in *.png ; do convert -resize 48x48 -quality 100 "$f" converted/"$f";doneКонвертированные изображения в данном случае помещаются во вложенную папку converted, можно указать другой путь.

Cообщение объединено 03 Апрель 2016, 12:18:55

В общем скорее всего дело не в конвертере, а скорее в каком-то типе фильтров при конвертации/ресайзе или еще в чем-то. Решил проблему с качеством путем поднятия контрастности изображений, так при конвертации они выглядят лучше.

PS. inkscape лучше справляется с конвертацией/ресайзом, чем imagemagick, при этом созданный inkscape файл больше.
« Последнее редактирование: 03 Апрель 2016, 17:33:28 от CoolAller »
 

Yrii

  • Гость
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #7 : 03 Апрель 2016, 19:21:25 »
Ради интереса поэкспериментировал.
convert 1.svg -resize 24x24 -background none 1.png
все же выдает не такой результат, как в примере, что должно получится...
"игрался" с разными опциями/фильтрами... но ни чего не нашел... может не теми опциями/фильтрами "игрался"...

inkscape что-то ставить не охото и я так понял вопрос более или менее "решен"...
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #8 : 03 Апрель 2016, 20:15:04 »
Yrii, да, уже сделал, спасибо.  :)
 

Оффлайн CoolAller

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 834
Re: Пакетная конвертация SVG to PNG с ресайзом
« Ответ #9 : 09 Апрель 2016, 19:43:58 »
Yrii, как это не смешно, но зря я вообще пытался ресайзить svg в png, при ресайзе мелкие png не будут четкими, нужно было просто сделать ресайз svg to svg))

Теперь другая проблема - нужна команда для пакетного ресайза svg через inkscape из терминала)
« Последнее редактирование: 09 Апрель 2016, 20:47:01 от CoolAller »
 

Теги:
 

Почему ходит миф про то, что в Debian самая большая пакетная база?

Автор Debser

Ответов: 14
Просмотров: 2171
Последний ответ 10 Январь 2016, 19:32:01
от ogost