Преобразуйте SVG в PNG в Ruby

Можно изменить рабочий каталог с:

import os

os.chdir(path)

существует две лучших практики для следования при использовании этого метода:

  1. Выгода исключение (WindowsError, OSError) на недопустимом пути. Если исключение выдается, не выполняйте рекурсивные операции, особенно разрушительные. Они будут воздействовать на старый путь а не новый.
  2. Возврат к Вашему старому каталогу, когда Вы сделаны. Это может быть сделано безопасным от исключения способом путем обертывания вызова chdir в менеджере по контексту, как Brian M. Hunt сделал в его ответ .

Изменение текущего рабочего каталога в подпроцессе не изменяет текущий рабочий каталог в родительском процессе. Это верно для интерпретатора Python также. Вы не можете использовать os.chdir() для изменения CWD обработки вызовов.

6
задан rslite 28 July 2009 в 08:07
поделиться

2 ответа

Обычно ImageMagick считается стандартом де-факто. К настоящему времени он привязан к такому количеству языков, что с ним даже не должно быть проблем. Привязка ruby, кажется, называется rmagick.

Тем не менее, вы, конечно, можете загрузить и визуализировать SVG самостоятельно, возможно, с привязками ruby ​​для librsvg (хотя никогда не использовали это успешно) и используя ruby-libpng для сохранения его как png.

А что такое приложение RoR?

3
ответ дан 17 December 2019 в 04:50
поделиться

некоторые сценарии bash с этого форума :

с использованием rsvg :

$ cd your-directory-with-the-svgs /
$ для i в *; сделать rsvg-convert $ i -o echo $ i | sed -e 's / svg $ / png /' ; выполнено

с использованием inkscape :

$ cd ваш-каталог-с-svgs /
$ для i в *; сделать inkscape $ i --export-png = echo $ i | sed -e 's / svg $ / png /' ; done

2
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: