方法
//Resize image - (UIImage *)resizeImage:(UIImage *)image withQuality:(CGInterpolationQuality)quality rate:(CGFloat)rate { UIImage *resized = nil; CGFloat width = image.size.width * rate; CGFloat height = image.size.height * rate; UIGraphicsBeginImageContext(CGSizeMake(width, height)); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetInterpolationQuality(context, quality); [image drawInRect:CGRectMake(0, 0, width, height)]; resized = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return resized; }
使用
UIImageView *theImageView = [[UIImageView alloc]init]; theImageView.frame = CGRectMake(0, 64, 320, 400); UIImage *aImage = [UIImage imageNamed:@"shenlin.png"]; UIImage *resizeImage = [self resizeImage:aImage withQuality:kCGInterpolationNone rate:0.2]; theImageView.image = resizeImage; theImageView.frame = CGRectMake(0, 64, resizeImage.size.width, resizeImage.size.height); NSLog(@"%@",NSStringFromCGSize(resizeImage.size)); [self.view addSubview:theImageView];