頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


UIImageを切り抜くのにはまった

画像(UIImageオブジェクト)を切り抜くってのをやろうとしたんだよ。
ざっとネットで調べるとこういう感じでできる、というのを見つけてさ。
{
        UIGraphicsBeginImageContext(rect.size);
        [image drawAtPoint:rect.origin];
        UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
}
ここでrectというのはCGRectね。
そうそう前もこんな感じでやったんだわ、と思って使ったんだけどうまくいかない。なぜか切り出す位置がおかしいんだ。
いろいろと調べてみたところ、どうやらrect.originのx,yともマイナスにしないとだめっぽい。
どういう仕様なんだよ?前にやったのを確認したら、確かにマイナスしてた、、、(覚えておけよ、俺!)

なんだかなあと思って再度調べるとこういう方法が。
{
    CGImageRef srcImageRef = image.CGImage;
    CGImageRef croppedImageRef = CGImageCreateWithImageInRect(srcImageRef, rect);
    UIImage * croppedImage = [UIImage imageWithCGImage: croppedImageRef];
}
こっちの方がいいじゃないっ!なんだ、最近そんなのができたの?!と思ってリファレンスで CGImageCreateWithImageInRect を見ると、、、
Available in iOS 2.0 and later.
ああ、そうですか、相当前からあったのね。

画像をクロップ処理
↑切り抜いてみた例。

<< iCloud.comの迷惑メール設定ができない!  TopPage  タッチされた点から滑らかな曲線を得る >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/887-da6e22c2




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad