UIImage图片处理:缩放、设定大小、存储 (转载)

 
  1. //1.等比率缩放  
  2. - (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize{  
  3. UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize);  
  4. [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];  
  5. UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();  
  6. UIGraphicsEndImageContext();  
  7. return scaledImage;  
  8. }  
  9.   
  10. //2.自定长宽  
  11. - (UIImage *)reSizeImage:(UIImage *)image toSize:(CGSize)reSize{  
  12. UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));  
  13. [image drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)];  
  14. UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();  
  15. UIGraphicsEndImageContext();  
  16. return reSizeImage;  
  17. }  
  18.   
  19. //3.处理某个特定View  
  20. 只要是继承UIView的object 都可以处理  
  21. 必须先import QuzrtzCore.framework  
  22. -(UIImage*)captureView:(UIView *)theView{  
  23. CGRect rect = theView.frame;  
  24. UIGraphicsBeginImageContext(rect.size);  
  25. CGContextRef context = UIGraphicsGetCurrentContext();  
  26. [theView.layer renderInContext:context];  
  27. UIImage *img = UIGraphicsGetImageFromCurrentImageContext();  
  28. UIGraphicsEndImageContext();  
  29. return img;  
  30. }  
  31.   
  32. //4.储存图片  
  33. 储存图片这里分成储存到app的文件里, 储存到手机的图片库里  
  34. // 储存到app的文件里  
  35. NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image.png"];  
  36. [UIImagePNGRepresentation(image) writeToFile:pathatomically:YES];