如何在Rmagick中快速做一些测试工作

时间:2008-09-16 09:41:08

标签: ruby rmagick

我需要能够快速转换图像(在rails控制器内),以便托管公司使用管理我们的应用程序可以随时快速测试以确保rmagick不仅成功安装,而且可以称为throgh rails stiack,我可以用它来做什么最快的干净代码?

4 个答案:

答案 0 :(得分:14)

require 'RMagick'

image = Magick::Image.new(110, 30){ self.background_color = 'white' }
image.write('/tmp/test.jpg')

答案 1 :(得分:4)

我想这样做,以便我可以轻松地使用网络浏览器点击它,因为我已经部署到托管服务器,我没有shell访问(为了提高安全性)。

所以这就是我做的事情

class DiagnosticsController < ApplicationController
  require 'RMagick'

  def rmagick
    images_path = "public/images"
    file_name = "rmagick_generated_thumb.jpg"
    file_path = images_path + "/"+ file_name

    File.delete file_path if File.exists? file_path
    img = Magick::Image.read("lib/sample_images/magic.jpg").first
    thumb = img.scale(0.25)
    @path = file_name
    thumb.write file_path
  end
end #------

然后在rmagick.html.erb

<%= image_tag @path %>

现在我可以点击控制器,如果我看到图像,我就知道安装了rmagic。

答案 2 :(得分:0)

我登录到服务器并在脚本/控制台中试用你的代码。这仍将通过rails堆栈,但允许您快速检查您的代码是否按预期方式工作,并且无需部署任何内容即可正确安装RMagick和ImageMagick。

到了编写实际代码的时候,我建议将图像转换代码放在模型中,这样你就可以在控制器的上下文之外调用它。

答案 3 :(得分:0)

使用脚本/控制台,并在模型或控制器中调用代码,执行以下操作:

require 'RMagick'
include Magick
img = ImageList.new('myfile.jpg')
img.crop(0,0,10,10) # or whatever
img.write('mycroppedfile.jpg')