人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Ruby on Rails で画像を動的に生成する方法を教えてください。

例えば、
「Polaroize」
http://lab.rails2u.com/polaroize/
のような感じのWebアプリを作りたいと考えています。
アップロードされた画像を加工し、生成された画像をサーバに保存するのではなく、その場で表示してすぐに破棄されるようにしたいです。

また、
「ちょいグラフ」
http://choigraph.minorapi.jp/
のようなWebAPIも作ってみたいと考えています。

これらのサービスのように、Railsで画像を動的に生成するにはどうすれば良いのでしょうか?
簡単なサンプルプログラムなどで教授ください。あるいは、解説サイト(できれば日本語)がありましたら教えてください。

※Rails + RMagick で画像を加工し、jpgやpngでサーバに保存することはなんとかできました。

●質問者: noriyoshi
●カテゴリ:ウェブ制作
✍キーワード:jpg PNG Rails Ruby on Rails Web
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● moro
●100ポイント ベストアンサー

Magick::Imageクラスのインスタンスメソッド、to_blobを呼べばOKです。

バイナリデータを文字列として取得できますので、あとはsend_dataすればよいでしょう。通常の画像として表示するのであれば、Content-Dispositionも指定する必要があります。

class ImageController < ApplicationController

 # accessed <img src="/image/handle_image/..." />
 def handle_image
 # 画像をいろいろ加工したり生成したり
 image = some_image_handler_methods(params)
 send_data(image.to_blob, :disposition => "inline", :type => "image/png")
 end
end

詳しくは、ActionCotnroller::Base#send_data()とRMagickのMagick::Imageあたりのドキュメントをご覧になってください。

◎質問者からの返答

やりたかったことがズバリできました!

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ