14
この質問は申し訳ありませんが、ここでは多くのスレッドを検索しました。私は何も見つかりませんでした。UIImageで中央の四角形を切り抜くには?
質問は:どのようにUIImageで中央の四角形を切り取るのですか?
私はコードを試してみましたが、成功しませんでした。切り抜きが発生しますが、左上隅にあります。
-(UIImage*)imageCrop:(UIImage*)original
{
UIImage *ret = nil;
// This calculates the crop area.
float originalWidth = original.size.width;
float originalHeight = original.size.height;
float edge = fminf(originalWidth, originalHeight);
float posX = (originalWidth - edge)/2.0f;
float posY = (originalHeight - edge)/2.0f;
CGRect cropSquare = CGRectMake(posX, posY,
edge, edge);
// This performs the image cropping.
CGImageRef imageRef = CGImageCreateWithImageInRect([original CGImage], cropSquare);
ret = [UIImage imageWithCGImage:imageRef
scale:original.scale
orientation:original.imageOrientation];
CGImageRelease(imageRef);
return ret;
}