像这样我目前正在我的ruby应用程序中上传文件(图片)..我需要在上传后调整图片大小...请帮助调整图片大小
uploaded_io = params [:category] [:thumb]
if uploaded_io != ""
name = uploaded_io.original_filename
if(FileTest.exist?("#{RAILS_ROOT}/public/data/#{name}"))
id = Category.maximum('id').to_s
id = id.to_i+ 1
name =id.to_s+"_"+name
end
由于
答案 0 :(得分:4)
如果你已经安装了imagemagick,那么使用ImageScience或MiniMagick,它们都会使用更少的资源并且工作更快,并且只是作为一个普通的宝石安装(实际上为图像科学安装了一点点)
ImageScience:
ImageScience.with_image("#{RAILS_ROOT}/public/data/#{name}") do |image|
image.thumbnail(100) do |thumb|
thumb.save <path_to_small_image to be saved>
end
end
MiniMagick:
MiniMagick::Image.new("#{RAILS_ROOT}/public/data/#{name}").resize "100x100"
答案 1 :(得分:1)
尝试RMagick!
require 'RMagick'
img = Image.new name
thumb = img.scale(125, 125)
thumb.write "thumb.gif"