ユーザーがプロフィール画像をアップロードする機能を実装するとき、 下記の要件を満たしたかった。 ・画像の形式指定、画像のサイズ最大値指定 ・画像のトリミング、縮小 まず、ImageMagickをインストール brew install imagemagick or yum install imagemagick Gemfileに下記追加 gem 'rmagick' その後 bundle install ざっくりこんな感じで処理できる。 file = params[:users][:image] #フォームからアップロードされた画像 thumb = Magick::Image.from_blob(file.read).shift thumb_out = thumb.resize_to_fill!(120, 120).to_blob ちなみに形式とサイズ最大値のバリデーションはこんな感じ。 fi