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 是正确的方法。
所以我有一张图片,它是一个圆圈,我想将其缩小到新的大小。
当我缩小时,结果是一个正方形,圆的直径=正方形的边长,背景色为白色。如何获得形状完全相同的图像?
+ (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 是正确的方法。