2
我的服務同時具有網頁版本和iPhone版本。在iPhone上,我們確保用戶在上傳時提交正方形版本。我們也允許在網站上上傳,但我們沒有這樣的功能。使用mini_magick調整圖像大小
因此,我想將任何上傳的圖像縮放到612 * 612區域。什麼是實現這一目標的最佳方式?
我使用Ruby/mini_magick
我的服務同時具有網頁版本和iPhone版本。在iPhone上,我們確保用戶在上傳時提交正方形版本。我們也允許在網站上上傳,但我們沒有這樣的功能。使用mini_magick調整圖像大小
因此,我想將任何上傳的圖像縮放到612 * 612區域。什麼是實現這一目標的最佳方式?
我使用Ruby/mini_magick
你只使用來自MiniMagick的resize
方法,還有GitHub的頁面上的例子:
想必你有圖像作爲一堆字節在內存中,所以像這樣:
image = MiniMagick::Image.read(your_image_bytes)
image.resize('612x612')
scaled_image_bytes = image.to_blob
# Or image.write(filename)
MiniMagick用來上漿標準ImageMagick的幾何字符串和從fine manual,一個WxH
幾何:
高度和給定的寬度,縱橫比保存的最大值。
因此使用'612x612'
將縮放圖像以適應612px的方格,同時保持縱橫比。
你也可以使用Jcrop來讓你的網絡用戶裁剪他們上傳的圖像以適合正方形。
另一個值得研究的寶石是CarrierWave,它與MiniMagick一起工作時會帶來相當大的痛苦。有幾個選項,包括resize_and_pad,這將確保你有一個正方形的圖像,但沒有裁剪任何重要的東西。我們將此與JCrop結合使用。 –