您可以使用RMagick gem调整大小。
这只是您可以适应的一个示例:
require 'RMagick'
f = File.new( File.join(save_path, self.filename), "wb" )
f.write form_file.read #remeber to set :html=>{:multipart => true} in form
f.close
image = Magick::Image.read(self.filename).first
image.change_geometry!("640x480") { |cols, rows, img|
newimg = img.resize(cols, rows)
newimg.write("newfilename.jpg")
}
此处的更多信息: http : //www.imagemagick.org/script/api.php#ruby
0
我正在为我们家庭的Intranet创建一个小的照片共享站点,并且具有上传功能,该功能可以将原始大小的照片上传到数据库中。但是,我还想将照片保存为其他四个尺寸:W = 1024,W = 512,W = 256和W = 128,但仅小于原始尺寸的尺寸(例如,如果原始宽度为511,则仅生成256和128)。始终应生成宽度为128的图像(因为它是缩略图)。同样,调整大小应始终与宽度和高度成比例。我该如何实施?我已经有了以下代码来上传照片:
pic.rb <-模型
new.rb <-视图
谢谢