图片等比例压缩

 1 - (UIImage*)scaleFromImage:(UIImage*)image scaledToSize:(CGSize)newSize

 2 {

 3  CGSize imageSize = image.size;

 4  CGFloat width = imageSize.width;

 5  CGFloat height = imageSize.height;

 6      

 7  if (width <= newSize.width && height <= newSize.height){

 8   return image;

 9  }

10      

11  if (width == 0 || height == 0){

12   return image;

13  }

14      

15  CGFloat widthFactor = newSize.width / width;

16  CGFloat heightFactor = newSize.height / height;

17  CGFloat scaleFactor = (widthFactor<heightFactor?widthFactor:heightFactor);

18      

19  CGFloat scaledWidth = width * scaleFactor;

20  CGFloat scaledHeight = height * scaleFactor;

21  CGSize targetSize = CGSizeMake(scaledWidth,scaledHeight);

22      

23     UIGraphicsBeginImageContext(targetSize);

24     [image drawInRect:CGRectMake(0,0,scaledWidth,scaledHeight)];

25     UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

26     UIGraphicsEndImageContext();

27     return newImage;

28 }

 

你可能感兴趣的:(压缩)