[XCODE] UIImageから任意の部分の画像を切り取る方法
今日はiPhoneの開発ネタで、UIImageから任意の箇所を切り抜いて、
新しいUIImageを取得する方法を記載したいと思います。
切り抜き元のUIImageと切り抜く箇所を示すCGRectを用意します。
そして、CoreGraphicsの機能を用いて、画像を切り抜くという作りです。
最後までお読み頂きましてありがとうございました。
UIImageから任意の箇所を切り取る方法
今回は、長方形のUIImage画像から、中心部分の320×320の正方形を切り抜く方法を記載します。切り抜き元のUIImageと切り抜く箇所を示すCGRectを用意します。
そして、CoreGraphicsの機能を用いて、画像を切り抜くという作りです。
// 切り抜き元となる画像を用意する。 UIImage *srcImage = /* UIImagePickerなどから取得したUIImage */ int imageW = srcImage.size.width; int imageH = srcImage.size.height; // 切り抜く位置を指定するCGRectを作成する。 // 今回は、画像の中心部分を320×320で切り取る例。 // なお簡略化のため、imageW,imageHともに320以上と仮定する。 int posX = (imageW - 320) / 2; int posY = (imageH - 320) / 2; CGRect trimArea = CGRectMake(posX, posY, 320, 320); // CoreGraphicsの機能を用いて、 // 切り抜いた画像を作成する。 CGImageRef srcImageRef = [srcImage CGImage]; CGImageRef trimmedImageRef = CGImageCreateWithImageInRect(srcImageRef, trimArea); UIImage *trimmedImage = [UIImage imageWithCGImage:trimmedImageRef];
最後に
画像編集がObjective-Cでできるようになると、アプリの表現力の幅が広がっていいですね(*゚▽゚)ノ また画像編集のスニペットを記載出来れば良いなぁ。最後までお読み頂きましてありがとうございました。