【Objective-C】UIImageの画像をリサイズする

きっと今後も使う機会があると思うので、備忘録としてまとめ。
Objective-CUIImage の画像をリサイズする方法についてです。

参考にさせていただいた記事はこちら。

UIImage – iPhoneアプリ開発の虎の巻
https://iphone-tora.sakura.ne.jp/uiimage.html

今回の画像リサイズだけでなく、他のことを調べる際にもかなりお世話になったサイトなので、私のように Objective-C 初心者の方はブックマークしておくといいと思います!

 

さて、早速ですが、サンプルコードは下記の通りです。
ほぼ参考サイトのサンプルコードを転載させていただいておりますが、変数名やサイズなどを一部変更しております。

UIImage *img_before = [UIImage imageNamed:@"sample.png"];
UIImage *img_after;

CGFloat width = 500;
CGFloat height = 500;

UIGraphicsBeginImageContext(CGSizeMake(width, height));
[img_before drawInRect:CGRectMake(0, 0, width, height)];
img_after = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext(); 

まず 1行目で、通常通り UIImage の画像を取得します。
で、2行目で、リサイズ後の UIImage を宣言します。

あとは、4、5行目で、リサイズ後の画像サイズを指定して、そのサイズで画像をリサイズして、作成された画像を img_after に保存すれば完了です!
なお、UIImage をリサイズする時にはグラフィックスコンテキストを作成し、リサイズが完了したらそれを終了する処理が必要らしいので、7行目と 10行目の処理は必ず記載するようご注意ください。

リサイズ処理は以上で完了です!
ただし、画像の切り抜きではなくリサイズなので、変更後のサイズ指定によっては、画像の比率がおかしくなってしまう可能性もあるのでご注意ください。
画像の比率がおかしくなるのを防ぎたい場合は、変更前の画像の縦横比を変えないようにして計算するようにしてください。

 

以上、Objective-C で UIImage の画像をリサイズする方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG