2012/05/29更新

[XCODE] UIImageの画像を切り抜くには

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

今日はiPhoneアプリケーション作成において、画像の一部を切り抜く方法を学んだので、ブログに残しておきたいと思います。

今日はライトなネタ♪(´ε` )

Trim UIIMage Sample





まずは、画像を読み込んで、UIImageオブジェクトを作る

UIImage *aImage = [UIImage imageNamed:@"doc.png"];

アプリケーションのルートフォルダに保存してある「doc.png」という画像ファイルを読み込んで、UIImageのオブジェクトを作成します。簡単簡単(*´∇`*)





続いてCoreGraphicsフレームワークの画像であるCGImageRefを作成する

CGImageRef wholeImageRef = [aImage CGImage];

UIImageのオブジェクトの持つCGImageプロパティを取得します。ここも簡単。





そーしたら、画像を切り抜いて、切り抜き後のCGImageRefを取得する

float w = wholeImageRef.size.width;
float h = wholeImageRef.size.width;
CGRect rect = CGRectMake(w/4, h/4, w/2, h/2); // 真ん中部分を切り抜く
CGImageRef partImageRef = CGImageCreateWithImageInRect(wholeImageRef, rect);

ここでは、「CGImageCreateWithImageInRect」という関数がみそですね。





最後に、CGImageRefからUIImageRefに変換して、不要になったメモリを破棄する

ここはメモリ管理をiPhoneに任せてたら特に不要な部分かと思われます。
UIImage *smallImage = [UIImage imageWithCGImage:partImageRef];

[aImage release];
CGImageRelease(wholeImageRef);
CGImageRelease(partImageRef);




最後に

画像の切り抜きは調べました。上記の関数にたどり着くまで、時間がかかったー(; ̄ェ ̄)でも出来て良かった。画像編集出来ると、楽しいですね。







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

RSS画像

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