画像を携帯電話の画面サイズにあわせて表示する
./script/plugin install svn://rubyforge.org/var/svn/jpmobile/trunk/jpmobile
また、サイズの変更をrmagickで行いますので、
gemでrmagickをいれておきます。
sargeでは
apt-get install libmagick6-dev
が必要でした。それで
gem install rmagick
でした。
上の続きとなりますが、
require 'RMagick' class BbsController < ApplicationController def show_photo @photo=Photo.find(params[:id]) imgs=Magick::ImageList.new imgs.from_blob(@photo.data) if request.mobile.display career_x=request.mobile.display.width career_y=request.mobile.display.height if imgs[0].columns>career_x resize_x=career_x resize_y=career_x*imgs[0].rows/imgs[0].columns if resize_y>career_y resize_x=career_y*imgs[0].columns/imgs[0].rows resize_y=career_y end imgs[0].resize!(resize_x,resize_y) end end send_data(imgs.to_blob,:type=>@photo.mimetype,:disposition=>"inline") end end
これで、携帯電話のサイズにあわせて自動的にリサイズされます。
ちなみに携帯電話は以外は何もしません。そのまま表示です。
※ 携帯じゃない場合もRMagickに突っ込んでいるので、ちょっと効率が悪いですね。後で直します。