MiniMagick - добавить текстуру к изображению

Дано:

Текстура textureи фотография (без прозрачного фона) введите здесь описание изображения

Как придать фотографии текстуру?

Чтобы быть конкретным, я хочу следующие шаги:

  1. Замостить текстуру. Из здесь у меня есть: convert -size 1056x576 tile:Castillo_001.gif Castillo_tiled.gif
  2. Инвертируйте результат.
  3. Сделайте композицию с фотографией, эквивалентную режиму наложения «Color Dodge» в Photoshop.

Любые подсказки для MiniMagick? Или какой-нибудь ключ к ответу в ImageMagick?

Огромное спасибо.

Ответить

ImageMagick:

convert IMG_1970.JPG \( -size 2816x1584 tile:background.png -negate \) -compose ColorDodge -composite out.jpg

Полный ответ:

  # I just negatived the background already
  img = MiniMagick::Image.open(File.join('IMG_1970.JPG'))
  background = MiniMagick::Image.open(File.join('background_negative.png'))
  background.combine_options do |c|
    c.size "#{img['width']}x#{img['height']}"
    c.tile background.path
  end

  img = img.composite(background) do |c|
    c.compose "ColorDodge"
  end

person s12chung    schedule 08.01.2014    source источник
comment
Не могли бы вы предоставить образцы изображений, к которым вы хотите применить текстуру? Не могли бы вы уточнить, что вы имеете в виду под приданием текстуре другому изображению? У изображений прозрачный фон, и вы хотите, чтобы текстура отображалась только на фоне, или вы хотите применить текстуру ко всему изображению?   -  person Andrea    schedule 08.01.2014
comment
Спасибо за вопрос :). я не был полностью уверен, но я отредактировал его и задал более точный вопрос.   -  person s12chung    schedule 08.01.2014


Ответы (1)


Вы правы в создании изображения текстуры в формате tile:. Просто примените параметр -negate, чтобы инвертировать результат. После этого простая команда «Составить и скомпоновать» применит эффект «Осветление цвета» к любому заданному изображению. См. статью Примеры создания.

convert \( -size 1056x576 tile:Castillo_001.gif -negate \) \
        source_image.jpg -compose Lighten -composite out_image.jpg
person emcconville    schedule 08.01.2014
comment
Потрясающие. я получил convert IMG_1970.JPG \( -size 2816x1584 tile:background.png -negate \) -compose ColorDodge -composite out.jpg сейчас выясняю преобразование в MiniMagick, если я это получу, это решено :) Спасибо. - person s12chung; 09.01.2014
comment
Это может потребовать больше усилий, чем стоит использовать MiniMagick. Если у вас уже есть команда, просто используйте Subexec.run. - person emcconville; 09.01.2014
comment
получил это в MiniMagick. не мог бы сделать это без вас, хотя. так. - person s12chung; 10.01.2014