7

Подобно команду массового изменения размера этот сайт научил меня здесь, есть командная строка трюк для массового перекрашивания?

Предположим, у меня есть несколько изображений со значениями RGB и альфа:

apple_original.png  
pear_original.png  
banana_original.png 

и так далее. Я хочу иметь команду командной строки, чтобы дать мне следующее:

apple_orange.png  
pear_orange.png  
banana_orange.png 

где в каждом случае значения R, G и B для каждого пикселя были умножены на 1, 0,5 и 0 соответственно, а альфа оставлена в покое. Это возможно?

2 ответа2

3

Спасибо Игнасио за отличный намек. Исходя из этого, вот ответы:

Прежде всего, конвертировать один файл. Скажем, мы хотим преобразовать test.png в orangeTest.png, умножив R, G и B на 1,0, 0,5 и 0,0 соответственно. Вот команда:

convert test.png xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' orangeTest.png

Теперь для массового преобразования:

for i in *.png; 
   do convert "$i" xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' "${i%.*}_orange.png"; 
done

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