Я знаю, что такой вопрос уже есть, но он мне не помог. У меня много файлов изображений, где я хочу изменить фиолетовый RGB(255, 0, 255) на прозрачный (это png). Есть ли приложение, которое может сделать это быстро? Я использую Linux, но я могу использовать инструмент Windows.

1 ответ1

1

Как и большинство вопросов, связанных с пакетным преобразованием файлов растровых изображений, ответ можно найти в наборе инструментов netpbm. В этом случае, если ваши png-изображения еще не имеют альфа-канала, простейшим решением будет преобразование из png в pnm и обратно; На обратном пути вы можете указать прозрачный цвет:

pngtopnm $file | pnmtopng -transparent==rgb:ff/00/ff > new.$file

Если ваши png-изображения уже имеют альфа-канал (или другой прозрачный фоновый цвет), вам необходимо извлечь существующий альфа-канал, а затем объединить его с новым альфа-каналом, состоящим из "фиолетовых" пикселей. Смотрите -alpha командной строки -alpha для pngtopnm и pnmtopng . Вы можете использовать ppmchange для создания растровых изображений, соответствующих определенному цвету изображения. Вы можете использовать ppmcomp или pnmarith для создания двух изображений. (Если изображения являются растровыми изображениями, pnmarith -max и pnmarith -min являются побитовыми or и and , соответственно.)

Если преобразование недоступно в наборе инструментов netpbm, это обычно довольно легко сделать с помощью сценария оболочки или программы на python; просто конвертируйте изображения в простой формат, с которым довольно легко работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .