2011-01-26 11 views
1

私はRuby on RailsとPaperclip gemを使用しています。画像を整形してサーバに保存する前に、画像を回転したいと思います。例えばRuby on Rails、Paperclip gem、RJS Template、およびImageMagickライブラリを使用してイメージを処理する方法は?

、私は私のモデルであれば:

has_attached_file :avatar, 
    :styles => { 
     :thumb => ["50x50#", :jpg], 
     :small => ["100x100>", :jpg], 
     :medium => ["100x100>", :jpg] } 

私はこれらの手順を実装したいと思います:

  1. ユーザーが画像をアップロードします。
  2. RoRアプリケーションは、ユーザーに「中」のイメージを表示します(おそらく、関連するファイルを一時ディレクトリに保存します)。
  3. ユーザーはイメージを調整(回転)し、ボタンを使用してイメージを送信します。
  4. RoRアプリケーションは、Paperclipを使用してイメージ(回転、変換、サイズなど)を処理し、関連するすべてのファイル(「サム」、「小さい」、「中」のイメージ)をディスクに保存します。

これらの手順をRoRアプリケーションに実装するにはどうすればよいですか?

私は私が新しいビューファイルAJAXのアプローチRJS)とで、たとえば、自分自身をサードパーティ製のソフトウェアを追加するが、実装しないだろう... Railcast 182見てきましたImageMagickライブラリ。

P .:私はPaperclip "プロセッサー"について読みましたが、まだそれらを実装することはできません。誰か助けてくれますか?

答えて

1

ライアンベイツは、セットアップする方法の手順の同様のシリーズを、トリミング以外の説明:

http://railscasts.com/episodes/182-cropping-images

私はどうなるのか、彼は代わりに回転のために何をしたかに適応しようとしています。

http://wilq32.adobeair.pl/jQueryRotate/Wilq32.jQueryRotate.html

は、私は、ユーザー入力用スライダーを提供するかもしれない:だから、JavaScriptのために、あなたはこのようなものを使用することができます。彼らは自由に画像を回転させて、どんな角度でも決着をつけることができます。

Rails側では、(クロッピング寸法の代わりに)回転角度を記録してから、ローテーションプロセッサに送信してください。 (レールスケートでトリミングプロセッサがどのように行われたかを見てください)。

プロセッサは、 "-crop"の代わりに "-rotate"演算子を使用します。

そして、あなたはそれを持っています。明らかに私はすべての詳細には入っていませんが、Railscastはそのプロセスをかなりうまく説明しなければなりません。そこからは、ImageMagickの別の操作に合わせて調整するだけです。

+0

Railcastを見ました...サードパーティのソフトウェアは追加しませんが、実装自体は自分で行います。私は質問を更新しました。 – user502052

+0

あなたは純粋なjavascriptでカスタムアプローチをしたいと思うように聞こえます。 – raidfive

+0

私はそれが道だと思いますが、どうやってやるのか分かりません。 – user502052

1

私はあなたがクライアント側で達成しようとしていることは、Railsを使って完全に達成できるとは思わない、それはいくつかのjavascriptを必要とするだろう。私は過去にjcrop http://deepliquid.com/content/Jcrop.htmlを使って、イメージがサービスにアップロードされる前にクライアント側でサイズ変更/トリミングを行ってきました。私はおそらく、このような解決策、または同様のものを検討するでしょう。

+0

質問を更新しました。 – user502052

関連する問題