画像のリサイズ
ソース
UIImage *image = [UIImage imageNamed:@"hoge.png"]; //1
CGSize newSize = CGSizeMake(50, 50); //2
/*大事なところ*/
UIGraphicsBeginImageContext(newSize); //3
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; //4
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //5
UIGraphicsEndImageContext(); //6
/*大事なところ*/
UIImageView *imageView = [[UIImageView alloc] init]; //7
imageView = [[UIImageView alloc] initWithImage:newImage]; //7
[self.view addSubview:imageView]; //7
[imageView release];
流れは以下のようになります。
- リサイズしたい画像の生成
- リサイズ後のサイズを指定
- UIGraphicsBeginImageContextメソッドでグラフィックスコンテキストを作成
- drawInRectでその領域に描画
- UIGraphicsGetImageFromCurrentImageContextメソッドで 3, 4 で描画した画像を取得してUIImage型に再合成
- グラフィックスコンテキスト終了
- UIImageViewを作成し画面に描画
上で出てくるグラフィックスコンテキストは、グラフィックスを描画するための情報(描画属性)を格納しておくためのものです(参考)。
参考記事
UIImage のリサイズ - iPhone will be interactive!サイズ指定(CGRect CGPoint CGSize)- iPhoneアプリ開発の虎の巻
iPhoneアプリ開発、その(174) UIImageを縮小する - テン*シー*シー
グラフィックスコンテキスト - Xlib Programming Lectures
0 件のコメント:
コメントを投稿