Я использую imagemagick с rsvg-convert в конвертируем svgs в jpegs .Все работает отлично, за исключением случаев, когда использует гамма-функцию для цветопередачи изображений .Он создает изображение, отличное от изображения в браузере.
Вот предварительный просмотр того, как svg выглядит в браузере.
Это выходные данные imagemagick + rsvg-convert после компиляции того же svg
Посмотрите, как подробностивыдувается на выходе изображения.Вот ссылка для загрузки фактического svg с изображениями
Я протестировал его на Windows, а также на Ubuntu и Centos, используя ту же версию ниже (см. Рисунок для версии IM).
Вот пара команд, которые я пробовал до сих пор.Каждая команда выводит одно и то же вытянутое изображение.
- convert test.svg test.jpg
- Применена функция им оценки к одному изображению - конвертировать green_1186.jpg -evaluate pow 1 -evaluate multiply1.54 -оценка добавить 0 green_1186.c.jpg (создает растухшее изображение)
- Применить к изображению гамму - конвертировать green_1186.jpg -gamma 1,1.54,0 green_1186.c.jpg
- convert green_1186.jpg -colorspace srgb -оценка pow 1 -оценка умножения 1.54 -оценка сложения 0 green_1186.c.jpg
- convert green_1186.jpg -fx "1.54 * (pow (u, 1)) + 0"green_1186.c.jpg
- конвертировать green_1186.jpg -auto-gamma -fx "1.54 * (pow (u, 1)) + 0" green_1186.c.jpg
IЯ не уверен, если svg не так, или мне нужно заново сэмплировать значения для IM или команды неправильные.Я был бы очень признателен эксперту по этому вопросу.