2013-03-15 32 views
2

我想回形針裁剪,而不是規模(見:在此摘錄全屏幕)如何使回形針作物和不縮放附加的圖像?

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 
             } 

我想:全屏幕工作,但事實並非如此。通過「工作」,我的意思是它應該裁剪圖像的寬度,但對高度沒有任何影響。原因是我正在上傳網頁截圖,我希望它們被修剪到940px寬(從中心),但它們的高度應保持不變。至於我對回形針的研究,我沒有找到如何做到這一點。

顯然它是相當支持的ImageMagick:http://www.imagemagick.org/Usage/crop/#crop_strip但我不知道如何將它卡在回形針上的回形針。

非常感謝!

回答

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 
             } 

我認爲這會裁剪寬度超過940像素的東西。

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 
相關問題