我需要爲Android應用程序調整大小/裁剪不同分辨率的圖像。Android設備調整大小/裁剪圖像(Rails)
我知道這是一個常見問題,但我找不到適合我的解決方案。
問題在於不同設備有不同對角線。管理員只能向CMS上傳一張尺寸爲668x1024的圖像(例如)。然後我需要發送一個圖片到這樣的分辨率的設備:400×600,540×960等。我不能只調整每個圖像,因爲在手機上會出現背景線。
所以,我是或違反寬高比(這是不好的,因爲圖片變得醜陋)或應該裁剪圖像。但由於比例不同,這很難做到。
我試圖迷你magick和g1nn13-image-science,但在第一個我不能把當前圖像的寬度和高度(並且由於它我無法實現裁剪算法)和第二個給我一個錯誤,當我嘗試要求image_science:「沒有這樣的文件加載 - 內聯」
讚賞所有幫助和建議:關於如何做的一些決定(也許不做裁剪,但另一些決定?)還是可以幫助我的寶石。
謝謝。
解答: 我用fastimage寶石查找圖像的當前的高度和寬度和minimagick寶石image.shave的方法。
實施例:
current_w, current_h = FastImage.size(object.attach.path)
if current_w < current_h
remove_h = ((current_h - height)/2).round
image.shave("0x#{remove_h}")
remove_w = ((current_w - width)/2).round
image.shave("#{remove_w}x0")
end
運行機架config.ru中描述的[handler](http://www.pastie.org/2882986)是否很重要?因爲我沒有在[github](https://github.com/markevans/dragonfly)專用於這個gem的手冊中看到它。當我嘗試運行這個[處理程序](http://www.pastie.org/2882986)我有一個錯誤「未初始化常量Dragonfly :: RMagickConfiguration(NameError)」config.ru:13 – TiSer
你有沒有試過這個文檔: https://github.com/markevans/dragonfly/blob/master/extra_docs/Rails3.md – sparrovv
是的,除Capistrano之外,我已經完成了所有這些步驟。 – TiSer