如何在 Rails 中使用 rmagick?

How to use rmagick in Rails?

我是 Rails Ruby 的新蜜蜂。我想在我的 rails 项目中使用 rmagick 进行图像处理。但是我很困惑该怎么做。我已经在控制台上练习了'rmagick'。但现在我想使用 rmagick 在我的 rails 项目中操作上传的图像。帮我这个??

您最好使用 Carrierwave 或 PaperClip gem 除非您打算做一些非常奇特的事情。

基本上这 2 个在后台使用 imagemagic,但自动化了常见的操作,如图像上传、调整大小和头像用户图片。

与 rmagic gem 不同的是,它们附带了很好的入门文档。

给你。

  1. 回形针https://github.com/thoughtbot/paperclip
  2. 载波https://github.com/carrierwaveuploader/carrierwave

也就是说,如果您想使用 Rmagic,这里是图像调整大小控制器方法的示例。

def resize_images
    require 'rubygems'
    require 'RMagick'
    include Magick
    require "open-uri"

    file_url = open('URL to image')
    save_path = "/"

    f = File.new( File.join(save_path, file_url), "wb")
    f.write file_url.read 
    f.close

    image = Magick::Image.read(file_url).first
    image.change_geometry!("1500x150") { |cols, rows, img|
        newimg = img.resize(cols, rows)
        newimg.write("newfilename.jpg")
    }
end