【问题标题】:CarrierWave: create thumb from unprocessed imageCarrierWave:从未处理的图像创建拇指
【发布时间】:2012-09-23 17:36:25
【问题描述】:

我有以下用于 Rails 图像上传器的代码:

class PhotoUploader < BaseUploader
  ...

  # Create different versions of your uploaded files:
  version :thumb do
    process :resize_to_fill => [80, 80]
  end

  # Process files as they are uploaded:
  process resize_to_fit: [618, 412]
  process convert: 'png'
  process :watermark
  process convert: 'jpg'

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

end

基本上,我想要两件事:

  • 为原始图片添加水印
  • 创建原始图像的缩略图(不带水印)

但是,水印处理似乎是在创建缩略图之前进行的,有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: ruby-on-rails-3 carrierwave


    【解决方案1】:

    事实证明这是不可能的。对原版的任何处理都会影响到所有versions

    这样做的唯一方法是保持原始版本干净并从中创建 2 个版本:version :thumbversion :watermarked

    【讨论】:

      猜你喜欢
      • 2013-11-20
      • 2012-06-19
      • 2014-11-06
      • 1970-01-01
      • 2013-03-07
      • 2014-12-23
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多