我希望Paperclip裁剪,而不是缩放(参见:摘录中的full1)
class Graphic < ActiveRecord::Base
has_attached_file :image, :styles => { :full0 => "940x1000#" #want it to scale, and crop if neccessary
:full1 => "940#", #want it to crop width, not scale
}
我想:full1可以工作,但事实并非如此。通过“工作”我的意思是它应该裁剪图像的宽度,但不对它的高度做任何事情。原因是我正在上传网页截图,我希望它们被剪裁到940px宽(从中心),但它们的高度应该保持不变。就我在回形针上的研究而言,我没有找到如何做到这一点。
显然它得到了ImageMagick的支持:http://www.imagemagick.org/Usage/crop/#crop_strip但我不知道如何把它塞进铁轨上的回形针。
非常感谢!
答案 0 :(得分:0)
您是否可以将高度设置为荒谬的大小,以便它不会出现问题?
class Graphic < ActiveRecord::Base
has_attached_file :image, :styles => { :full0 => "940x1000#" #want it to scale, and crop if neccessary
:full1 => "940x9999999#", #want it to crop width, not scale
}
我认为会裁剪比940px更宽的东西。
答案 1 :(得分:0)
您可以转换图像处理选项,以下将集中裁剪图像。
has_attached_file :profile_picture, :storage => :s3,
:styles => { :medium => "", :thumb => ""},
:convert_options => {
:thumb => Proc.new { |instance| instance.thumnail_dimension },
:medium => Proc.new { |instance| instance.thumnail_dimension(300) }
}
def thumnail_dimension(size=100)
dimensions = Paperclip::Geometry.from_file(profile_picture.queued_for_write[:original].path)
min = dimensions.width > dimensions.height ? dimensions.height : dimensions.width
"-gravity Center -crop #{min}x#{min}+0+0 +repage -resize #{size}x#{size}^"
end