2012/04/30更新

[XCODE] UIImageを任意のサイズにリサイズする方法

このエントリーをはてなブックマークに追加      

今日は、Objective-Cで良く出てくるUIImageをリサイズする方法をブログに載せたいと思います。
カメラとかアルバムから写真を取得した際に、そのままのサイズだと大きすぎるので、 リサイズしたいと思う事もあるのでは?今日はその方法です(*゚▽゚)ノ

Resize UIImage




UIImageをリサイズする方法

今回は、以下の感じにリサイズします。
取得した画像の縦サイズ、横サイズを取得して、長い方を320pxにして、 短い方は(320/長い方のサイズ)にリサイズします。
実装方法は以下のようにすればできます。
UIImage *aImage = /* UIImagePickerなどから画像を取得 */

// 取得した画像の縦サイズ、横サイズを取得する
int imageW = aImage.size.width;
int imageH = aImage.size.height;

// リサイズする倍率を作成する。
float scale = (imageW > imageH ? 320.0f/imageH : 320.0f/imageW);

// 比率に合わせてリサイズする。
// ポイントはUIGraphicsXXとdrawInRectを用いて、リサイズ後のサイズで、
// aImageを書き出し、書き出した画像を取得することで、
// リサイズ後の画像を取得します。
CGSize resizedSize = CGSizeMake(imageW * scale, imageH * scale);
UIGraphicsBeginImageContext(resizedSize);
[aImaged drawInRect:CGRectMake(0, 0, resizedSize.width, resizedSize.height)];
UIImage* resizedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();




最後に

UIImageはiPhoneアプリを作っていると触れる機会が多いと思います。
こーゆう機能の経験を積み重ねると開発スピードが上がるのかなぁ。
また色々と学んだことをブログに書きたいと思います。
最後までお読み頂きましてありがとうございます。






こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。