Ruby on rails Carrierwave质量不适用于任何版本
我遇到了有关carrierwave质量设置的问题 首先,让我介绍一些代码(uploaders/second_image_uploader): 因此,问题是: 当我在model create上上传文件时,一切都很好-carrierwave创建“完整”版本,根据我的参数进行压缩,创建大约50kb的图像-太棒了 不管怎样,一旦我运行了Ruby on rails Carrierwave质量不适用于任何版本,ruby-on-rails,ruby,image,carrierwave,minimagick,Ruby On Rails,Ruby,Image,Carrierwave,Minimagick,我遇到了有关carrierwave质量设置的问题 首先,让我介绍一些代码(uploaders/second_image_uploader): 因此,问题是: 当我在model create上上传文件时,一切都很好-carrierwave创建“完整”版本,根据我的参数进行压缩,创建大约50kb的图像-太棒了 不管怎样,一旦我运行了>一些_model.second _image.rebuild _版本,它会重新创建它们,但没有应用质量参数,将大小增加到500kb左右,这是不可接受的 如果有人能帮我找
>一些_model.second _image.rebuild _版本代码>,它会重新创建它们,但没有应用质量参数,将大小增加到500kb左右,这是不可接受的
如果有人能帮我找出问题所在,我将不胜感激
class SecondImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
def filename
super.chomp(File.extname(super)) + '.png' unless super.nil?
end
version :full do
process :quality => 85
end
# ...
end
module CarrierWave
module RMagick
def quality(percentage)
manipulate! do |img|
img.write(current_path){ self.quality = percentage } unless img.quality == percentage
img = yield(img) if block_given?
img
end
end
end
end