Carrierwave добавляет водяной знак к обработанным изображениям - PullRequest
10 голосов
/ 08 февраля 2012

Я пытаюсь добавить водяной знак к обработанным изображениям с кодом ниже, который я получил из нескольких источников:

def watermark
  manipulate! do |img|
    logo = Magick::Image.read("#{Rails.root}/assets/images/watermarks/watermark.png").first
    img = img.composite(logo, Magick::SouthEastGravity, Magick::OverCompositeOp)
  end
end

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

Это мой метод внутри моего загруженного и называется как:

def function
  version :thumb do
    process :resize_to_fill => [96, 96]
    process :watermark
  end
end

Есть какие-нибудь мысли о получении некоторых журналов, почему это не работает?У меня в системе установлены драгоценные камни Rmagick и Imagemagick (OSX), а изменение размеров изображений работает правильно.

1 Ответ

18 голосов
/ 16 мая 2012

Я просто делаю это так, и все работает очень хорошо:

# Process files as they are uploaded:
process :resize_to_fill => [850, 315]
process :convert => 'png'
process :watermark

def watermark
  manipulate! do |img|
    logo = Magick::Image.read("#{Rails.root}/app/assets/images/watermark.png").first
    img = img.composite(logo, Magick::NorthWestGravity, 15, 0, Magick::OverCompositeOp)
  end
end

B.

...