【问题标题】:Image resize in ruby on rails [duplicate]在 ruby​​ on rails 中调整图像大小 [重复]
【发布时间】:2012-01-21 03:32:04
【问题描述】:

像这样,我目前正在我的 ruby​​ 应用程序中上传一个文件(图像)。我需要在上传后调整图像大小……请帮助调整图像大小

uploaded_io = 参数[: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

谢谢

【问题讨论】:

    标签: ruby-on-rails image-resizing


    【解决方案1】:

    如果您已经安装了 imagemagick - 然后改用 ImageScience 或 MiniMagick,它们都使用更少的资源并且工作速度更快,并且作为一个普通 gem 安装(实际上对于 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::Image.new("#{RAILS_ROOT}/public/data/#{name}").resize "100x100"
    

    【讨论】:

    • 嗨,感谢您的回复,并且......没有 Magick 是否有任何其他 ruby​​ 原生(类似于 php 中的东西)方法来调整图像大小?我问这个是因为在我的系统中安装 GEM 时出现了一些问题谢谢
    • hmmmm 你有安装 ImageMagick 吗?它不是 ruby​​ gem,如果是 - 那么你可以在没有任何 gem 的情况下调用它的命令
    • 我的系统中没有安装 ImageMagick .... 我尝试安装时出现了一些问题。如果您不介意,请帮助我如何在我的系统上安装它?
    • imagemagick.org/script/binary-releases.php 或者如果您使用的是 ubuntu - 那么只需 sudo apt-get update sudo apt-get install imagemagick --fix-missing 就可以了
    • 我明白了,你使用的是 Win 7。从来没有在 Windows 上这样做过,但我认为二进制版本是你正在寻找的
    【解决方案2】:

    试试 RMagick!

    require 'RMagick'
    
    img = Image.new name
    thumb = img.scale(125, 125)
    thumb.write "thumb.gif"
    

    http://www.imagemagick.org/RMagick/doc/comtasks.html#thumb

    【讨论】:

    • 嗨 .. 你能帮忙看看如何在我的服务器上安装 RMagick 吗.. 我使用的是 windows 7 谢谢
    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    相关资源
    最近更新 更多