我正在用minimagick做一些carrierwave的裁剪。我有3个大小,目前裁剪工作对大尺寸很好,但较小的尺寸似乎忽略了裁剪的图像,并从原始图像调整大小。
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include CarrierWave::Processing::MiniMagick
version :thumb, from_version: :medium do
process resize_to_fill: [100, 100]
end
version :medium, from_version: :large do
process resize_to_fill: [261, 163]
end
version :large do
process :conversion
end
# ... some methods
private
def conversion
manipulate! do |img|
img.format('JPG')
img.strip
if model.croppable?
img.crop("#{model.w}x#{model.h}+#{model.x}+#{model.y}")
end
img = yield(img) if block_given?
img
end
end
end我如何告诉medium从裁剪的大版本而不是原始版本resize_to_fill?
发布于 2014-01-03 06:55:02
正如@PinnyM所建议的,它是指定版本的顺序
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include CarrierWave::Processing::MiniMagick
# Specify this first!
version :large do
process :conversion
end
version :medium, from_version: :large do
process resize_to_fill: [261, 163]
end
version :thumb, from_version: :medium do
process resize_to_fill: [100, 100]
end
#... everything else
endhttps://stackoverflow.com/questions/20893214
复制相似问题