Пакетная замена цвета изображения

У меня есть много изображений, нарисованных одним и тем же цветом, например:

Первое изображениедругое изображение

Теперь я хочу изменить их «основной» цвет с «# 3d507d» на «# 7C0A0A».

Я пытался сделать это, изменив «оттенок/насыщенность», но безуспешно. (пакетное изменение оттенка/насыщенности доступно с этим скриптом gimp: http://registry.gimp.org/node/23499 )

Итак, как я могу изменить цвет с «# 3d507d» на «# 7C0A0A»? предпочтительно с пакетной/скриптовой опцией?

Я использую GIMP/Inkscape/Photoshop. Я предпочитаю объяснения в таком порядке (наиболее предпочтительный GIMP)

Кстати, я не хочу менять только пиксели «# 3d507d», я хочу также изменить «градиентные» / «окаймленные» / «частично прозрачные» пиксели, чтобы они соответствовали изменению на «# 7C0A0A». - другими словами - Это должно хорошо выглядеть... Спасибо.

Привет Йоссико, спасибо за ваш вопрос. Не могли бы вы рассказать нам, какое программное обеспечение вы используете, и почему приведенный метод вас не удовлетворяет? Пожалуйста , отредактируйте свой вопрос с этой информацией. Спасибо! Если у вас есть какие-либо вопросы, обратитесь в справочный центр или свяжитесь с одним из нас в чате графического дизайна . Продолжайте вносить свой вклад и наслаждайтесь сайтом!
Вы можете использовать ImageMagick (mogrify -fill "#7C0A0A" -opaque "#3d507d" [изображения]).
@ Винсент - привет, я добавил пояснения
@GlennRanders-Pehrson - разве это заменит только исходные пиксели целевым значением? Я хочу, чтобы края тоже были изменены, и у них были другие значения...
Фон изображения прозрачен? Тогда вам действительно стоит взглянуть на этот вопрос: graphicdesign.stackexchange.com/questions/26572/…

Ответы (3)

Кстати, я не хочу менять только пиксели «# 3d507d», я хочу также изменить «градиентные» / «окаймленные» / «частично прозрачные» пиксели, чтобы они соответствовали изменению.

Я не совсем уверен, какие данные у вас есть, но если у вас есть SVG (или другой векторный формат), проблема с частичными пикселями не возникает, поскольку пикселей нет изначально. В этом случае вы можете использовать SVG с простым исходным кодом и выполнить замену с помощью простого скрипта поиска и замены. Например, в системе unixoid следующая команда должна заменить все SVG в текущей папке:

sed "s/#3d507d/#7c0a0a/g" *.svg

Обратите внимание, что это заглавные буквы по модулю, поэтому вам может потребоваться заменить #3d507dна #3D507D.

Вау, я запомню это - это может быть очень полезно в будущем. В моем случае данные представляют собой файлы png - как показано в вопросе
Вы не зависите от unixoid-систем, так как sed также свободно доступен для систем Windows — он просто не является частью дистрибутива.

Я мало что знаю о Gimp, но, возможно, вы можете использовать мой пример Photoshop и найти в Gimp способ добиться этого.

В Photoshop я бы сделал действие, которое делает что-то подобное, а затем выполнил пакетную обработку:

1) перевести изображение в оттенки серого,

2) измените режим изображения на двухцветный, используя новый цвет + серый

3) конвертировать обратно в режим RGB

4) сохранить.

изменение цвета дуотон фотошоп

НО все изображение станет с красным оттенком, включая светлую тень , если вы не используете 2 цвета в своем дуэте и не настроите кривые, чтобы использовать серый/черный для самой светлой части и 100% вашего нового цвета HEX для более темной части. ваших изображений.

Я так и сделал в своем примере. Это не идеально, я сделал это быстро, и вы могли бы найти лучшую настройку; тень все еще немного красная, и текст выглядит неплохо. Если вы не возражаете против этой маленькой тени, вы также можете использовать монотон.

Дуотоновые кривые Бакта

  1. Вы можете использовать IrfanView для (пакетной) замены цветов в изображении.

  2. Если вы хотите использовать SVG (Inkscape), вы можете использовать вызываемую inkscape_mergeдля этого программу Ruby. Обратитесь к этому сайту для шагов.

Добро пожаловать в графический дизайн SE. Не могли бы вы отредактировать свой ответ, чтобы обобщить часть связанного сайта, которая помогает в этом? Кажется, он охватывает всевозможные вещи, не связанные с этим вопросом.