画像のリサイズを行うには
こんにちは、@yoheiMuneです。
今日は、画像のリサイズ方法を学んだので、ブログに残したいと思います。今日はライトなネタ♪(´ε` )
画像のリサイズを行う
画像の拡大縮小を行うには、以下のような処理を実行する事で、リサイズを行うことが出来ます。画像はUIImageのオブジェクトを前提とします。
- (void) doSomething : (id) sender { UIImage *aImage = imageView.image; // imageViewはUIImageView型のフィールド変数。 // 画像を縮尺1/2にする ←今回説明したい部分 UIImage *resizedImage = [self resizeImage:aImage scale:0.5f]; // 縮小した画像をUIImageViewの画像として登録する imageView.image = resizedImage; } // 画像をリサイズするメソッド。 // @param img リサイズ対象の画像 // @param scale リサイズ縮尺 // @return リサイズ後の画像 - (UIImage*)resizeImage:(UIImage *)img scale:(float)scale { // 指定されたスケールから、画像のリサイズ後のサイズを計算する CGSize resizedSize = CGSizeMake(img.size.width * scale, img.size.height * scale); // UIGraphics××の関数を利用して、画像をリサイズする ←ここが重要な部分!!! UIGraphicsBeginImageContext(resizedSize); [img drawInRect:CGRectMake(0, 0, resizedSize.width, resizedSize.height)]; UIImage* resizedImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // リサイズ後の画像を呼び出し元に返す return resizedImage; }
上記のように実装する事で、画像の拡大縮小を簡単に行う事が可能です。「resizeImage:scale:」メソッドは、他のプロジェクトにそのまま移植する事も可能かもしれません。
最後に
リサイズや回転など、画像をいじる処理は、たびたび必要になるもんですね。画像をだんだんと自由に扱えるようになってくると、楽しいかも。次は回転をやってみよっと(*゚▽゚)ノ
以下は、関連ページです。参考になれば幸いです。