IOS图片压缩的类

jopen 11年前

//    //  UIImage+UIImageExt.m    //  MyHomeBuy    //    //  Created by first on 13-9-13.    //  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.    //      #import "UIImage+UIImageExt.h"      @implementation UIImage (UIImageExt)      - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize;    {        UIImage *sourceImage = self;        UIImage *newImage = nil;        CGSize imageSize = sourceImage.size;        CGFloat width = imageSize.width;        CGFloat height = imageSize.height;        CGFloat targetWidth = targetSize.width;        CGFloat targetHeight = targetSize.height;        CGFloat scaleFactor = 0.0;        CGFloat scaledWidth = targetWidth;        CGFloat scaledHeight = targetHeight;        CGPoint thumbnailPoint = CGPointMake(0.0,0.0);        if (CGSizeEqualToSize(imageSize, targetSize) == NO)        {            CGFloat widthFactor = targetWidth / width;            CGFloat heightFactor = targetHeight / height;            if (widthFactor > heightFactor)                scaleFactor = widthFactor; // scale to fit height            else                scaleFactor = heightFactor; // scale to fit width            scaledWidth= width * scaleFactor;            scaledHeight = height * scaleFactor;            // center the image            if (widthFactor > heightFactor)            {                thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5;            }            else if (widthFactor < heightFactor)            {                thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5;            }        }        UIGraphicsBeginImageContext(targetSize); // this will crop        CGRect thumbnailRect = CGRectZero;        thumbnailRect.origin = thumbnailPoint;        thumbnailRect.size.width= scaledWidth;        thumbnailRect.size.height = scaledHeight;        [sourceImage drawInRect:thumbnailRect];        newImage = UIGraphicsGetImageFromCurrentImageContext();        //if(newImage == nil)        //NSLog(@"could not scale image");        //pop the context to get back to the default        UIGraphicsEndImageContext();        return newImage;    }    @end        //    //  UIImage+UIImageExt.h    //  MyHomeBuy    //    //  Created by first on 13-9-13.    //  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.    //      #import <UIKit/UIKit.h>      @interface UIImage (UIImageExt)      - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize;      @end