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