これは iOS デベロッパー センターのカメラ デモで、画像を縮小する機能は以下にあります。私が遭遇した問題は、幅が高さ未満のときに画像が引き伸ばされることです。ただし、画像を正方形(幅:高さ= 1:1)に拡大縮小する必要があります。誰かがこれについて解決策を持っていますか? 事前に助けてくれた皆さん、ありがとうございます。
static UIImage *shrinkImage(UIImage *original, CGSize size) {
CGFloat scale = [UIScreen mainScreen].scale;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, size.width * scale,
size.height * scale, 8, 0, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context,
CGRectMake(0, 0, original.size.width * scale, original.size.width * scale),
original.CGImage);
CGImageRef shrunken = CGBitmapContextCreateImage(context);
UIImage *final = [UIImage imageWithCGImage:shrunken];
CGContextRelease(context);
CGImageRelease(shrunken);
return final;
}