UIImage 缩小到更小的尺寸

UIImage scaling down to smaller size

所以我有一张图片,它是一个圆圈,我想将其缩小到新的大小。

当我缩小时,结果是一个正方形,圆的直径=正方形的边长,背景色为白色。如何获得形状完全相同的图像?

+ (UIImage *)imageWithImage:(UIImage *)image customScaledToSize:(CGSize)newSize
{
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, [UIScreen mainScreen].scale);

[[UIColor clearColor] set];
UIRectFill(CGRectMake(0, 0, newSize.width, newSize.height));

[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

问题的原因是图像在缩放之前被保存为 JPEG,而 JPEG 不支持透明度。

保存为 PNG 是正确的方法。