我使用RMagick的resample
方法來改變圖像我有(從300x300
到72x72
的DPI分辨率(DPI的分辨率不變化)。RMagick的重採樣方法調整圖像大小,而不是重新取樣,
代碼我用它這樣:
original_image = Magick::Image.read("my300x300file.jpg") { self.density = "72.0x72.0" }
original_image.each do |image|
image = image.resample(72.0, 72.0)
image.density = "72x72"
image.write("my72x72file.jpg") { self.quality = 50 }
end
執行代碼後,將my72x72file.jpg
尺寸已減少,但其DPI分辨率仍處於300
(這意味着第e文件大小並沒有減少太多;實際上,即使我將self.quality
設置爲0
,文件大小實際上也不會改變)。
由於RMagick建立在ImageMagick上,所以這可能不是RMagick本身的問題。 – tadman