2008-09-16 8 views
3

アプリケーションを管理しているホスティング会社がいつでも素早くテストできるように、画像をすばやく(レールコントローラ内で)変換できる必要があります。うまくインストールされているだけでなく、レールstiackと呼ばれることができます、私はこれを行うために使用できる最もクリーンなコードは何ですか?Rmagickで何かをすばやくテストするにはどうすればいいですか?

答えて

4

私は管理されたサーバーに展開していますが、シェルアクセスを持たない(セキュリティを強化するため)

だからこれは私が

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がある知っていますインストールされます。

0

私はサーバーにログオンし、スクリプト/コンソールでコードを試してみました。これは引き続きレールスタックを通過しますが、あなたのコードが期待どおりに機能し、何かを配備することなくRMagickとImageMagickが正しくインストールされていることを素早く確認することができます。

実際のコードを書くときは、画像変換コードをモデルに入れて、コントローラのコンテキスト外で呼び出すことをお勧めします。

0

使用スクリプト/コンソール、およびモデルや、次のような何かを行うコントローラでコードを呼び出す:私は簡単として、Webブラウザでそれを打つことができるようにこれをやってみたかった

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

image = Magick::Image.new(110, 30){ self.background_color = 'white' } 
image.write('/tmp/test.jpg') 
関連する問題