У меня есть папка PNG-файлов с прозрачным фоном. Я хотел бы преобразовать их из командной строки и сохранить прозрачный фон изображений.
Буду признателен за любую помощь.
Поскольку jpgs не поддерживает прозрачность, как я могу указать шестнадцатеричное значение цвета фона выходного jpg? Прямо сейчас это по умолчанию #ffffff
? Я пробовал этот сценарий, но он дает выходной белый фон jpgs:
mogrify -quality 100 -format jpg *.png
Обновить
Я создал эти файлы PNG в Inkscape. Я должен отметить, что моя цель в преобразовании этих PNG в JPG состоит в том, чтобы избавиться от зубчатых краев на круглых или угловых объектах. В настоящее время pngs имеют неровные края, и я прочитал, что преобразование их в jpgs может решить эту проблему. Однако преобразование с помощью метода, изложенного в ответе Кристиана Скьодта, дает изображениям еще более острые неровные края. Есть ли способ, которым я могу преобразовать PNG в JPG, а также использовать сглаживание или, возможно, другой метод, чтобы избавиться от зубчатых краев? Спасибо за помощь.
Ответы:
Чтобы сгладить края, вы можете создать PNG в 10 раз больше целевого размера, а затем изменить размер с помощью сглаживания в JPG. Я сделал это с помощью Python и Python Imaging Library, но я не уверен, как это сделать, используя другие инструменты.
источник
Формат JPEG не поддерживает прозрачность - поэтому сохранение прозрачного фона невозможно, если вы хотите (или должны) использовать формат JPEG. Посмотрите Википедию для обзора возможностей различных форматов изображений.
Обратите внимание, что JPEG 2000 действительно поддерживает прозрачность, но это гораздо реже, чем формат JPEG. Это зависит от вашего варианта использования, является ли это жизнеспособной альтернативой.
источник
На ваш второй вопрос:
Чтобы указать цвет фона при конвертации изображений, вы можете использовать
-fill
опцию:Использование
-background
обеспечивает аналогичные результаты. Не забудьте-opaque none
.источник
Извините, что нет способа,
jpeg
формат не поддерживает,alpha channel
поэтому у вас не может быть прозрачности.источник
в зависимости от того, что вы пытаетесь сделать с изображением, может быть возможно поместить альфа-канал в отдельное изображение в градациях серого или в битовую маску, и программа, использующая изображение, будет применять вспомогательное изображение в качестве значений полупрозрачного / прозрачного , Хотя в конечном итоге лучше модифицировать программу, чтобы она поддерживала альфа-PNG.
источник