2016-03-15 44 views
1

我有一個rails應用程序,配置文件圖像上載carrierwave和處理與minimagick。rails圖像調整大小與載波和minimagick

這是我曾經有過:

version :base_thumb do 
    process :resize_to_fit => [85, 85] 
end 

我只是意識到一些個人資料照片失真。人們在照片上的頭部被垂直拉伸。我想這是由於我只使用resize_to_fit方法引起的。

我想出了以下內容,但它不起作用。通過此代碼,我得到undefined method "process"錯誤。我還必須添加一個新版本(use_thumb)。

version :base_thumb do 
    process :resizing => [85, 85] 
end 

version :user_thumb do 
    process :resizing => [40, 40] 
end 

def resizing(h, w) 
    manipulate! do |img| 
    if img.width > img.height 
     process :resize_to_fill => [h, w] 
    else 
     process :resize_to_fit => [h, w] 
    end 
    end 
end 

我的問題有以下幾點:

  • 是引起此問題,因爲我只用resize_to_fit方法?
  • 如果是這樣,我怎樣才能使我的resizing方法工作?

UPDATE:

我在這裏的目標是無失真/空格來顯示個人資料圖片。我所有圖像的高寬比都是1:1。如果sby上傳比例爲2:1或1:2的比例,我仍然希望將其顯示爲1:1而不會失真並在其周圍留出空白。

我不知道它是否夠使用resize_to_fitresize_to_fillresize_to_limit版本,或者我有裁剪等來處理圖像

正如我在大部分的Rails應用中看到,你們都僅僅使用resize_to_fitresize_to_fill並且沒有任何比例問題,不知何故他們的圖像總是很好地顯示。

+0

如果我的答案解決了你的問題,你應該讓別人知道!如果沒有發佈你的解決方案也很棒! –

+0

高保羅,我很快就會退房,如果一切按計劃進行,都會標記您的答案。 –

回答

1

如果您試圖獲得相同比例的圖片來調整它的大小而不會使其失真,那麼您應該閱讀this

如果你只是想要得到與同一作物的圖片中間,你應該閱讀this

希望有幫助

+0

高保羅,我已經更新了我的問題。你可以看看嗎?我很困惑。通過一堆文章,包括你推薦的東西,但不能決定使用什麼。與我在大多數Rails應用程序中看到的相比,您推薦的內容似乎有點複雜。我不想在這裏做任何事情,只想讓我的圖片正確顯示。我也檢查了一堆carrierwave視頻,並以某種方式上傳的圖像永遠不會扭曲。 –