iOS对图像进行尺寸压缩

来源:互联网 发布:如何看待马蓉 知乎 编辑:程序博客网 时间:2024/05/01 23:53

iOS Objective-C对图像进行压缩,最简单的就是对图像进行等比例缩小。代码如下:

- (UIImage*)scaleFromImage:(UIImage*)image scaledToSize:(CGSize)newSize{ CGSize imageSize = image.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height;       if (width <= newSize.width && height <= newSize.height){  return image; }       if (width == 0 || height == 0){  return image; }       CGFloat widthFactor = newSize.width / width; CGFloat heightFactor = newSize.height / height; CGFloat scaleFactor = (widthFactor<heightFactor?widthFactor:heightFactor);       CGFloat scaledWidth = width * scaleFactor; CGFloat scaledHeight = height * scaleFactor; CGSize targetSize = CGSizeMake(scaledWidth,scaledHeight);          UIGraphicsBeginImageContext(targetSize);    [image drawInRect:CGRectMake(0,0,scaledWidth,scaledHeight)];    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return newImage;}


0 0