iOS:等比压缩截图代码

时间:2023-05-19 13:43:26

将一幅图片按着需要的尺寸进行等比的压缩和放大,最后再截取需要尺寸部分,不知道说清楚没,反正就那意思吧!

+(UIImage *)compressImageWith:(UIImage *)image width:(float)width height:(float)height
{
float imageWidth = image.size.width;
float imageHeight = image.size.height; float widthScale = imageWidth /width;
float heightScale = imageHeight /height; // 创建一个bitmap的context
// 并把它设置成为当前正在使用的context
UIGraphicsBeginImageContext(CGSizeMake(width, height)); if (widthScale > heightScale) {
[image drawInRect:CGRectMake(, , imageWidth /heightScale , height)];
}
else {
[image drawInRect:CGRectMake(, , width , imageHeight /widthScale)];
} // 从当前context中创建一个改变大小后的图片
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
[newImage retain];
// 使当前的context出堆栈
UIGraphicsEndImageContext(); return newImage; }