Обрабатывать только оригинальный файл с несущей волной - PullRequest
0 голосов
/ 19 июня 2019

Я загружаю изображение с помощью carrierwave, а также создаю уменьшенную версию. Я также пытаюсь применить водяной знак только к исходному файлу (не к уменьшенному изображению).

Вот что я пытаюсь:

  process :watermark

  version :thumb do
    process resize_to_fit: [80, 50]
    process :quality => 60
  end

  protected

  def watermark
    if self.version_name.nil?
      < apply watermark here >
    end
  end
end```

The watermark is applied to all versions, including the thumbnail. Is ether a way to achieve this without creating another version named :original ?

Thanks!

1 Ответ

0 голосов
/ 19 июня 2019

Из документации CarrierWave :

Важно помнить, что process вызывается перед созданием версий. Это может снизить стоимость обработки.

В вашем случае применяется водяной знак, а затем создается миниатюра.

Я думаю, что лучшим решением было бы:

  1. создать дополнительную версию (:original)
  2. удалить исходный файл, который был загружен, и сохранить только thumb и original версии файла ( source )
...