1、等比缩放- (UIImage *) scaleImage:(UIImage *)image toScale:(float)scaleSize {UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize);[image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];UIImage *scaledImage= UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();returnscaledImage;}
2、自定义大小- (UIImage *) reSizeImage:(UIImage *)image toSize:(CGSize)reSize {UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));[image drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)];UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();returnreSizeImage;}
3、处理某个特定的view只要是继承UIView的object 都可以处理必须先import QuzrtzCore.framework-(UIImage*) captureView:(UIView *)theView {CGRect rect = theView.frame;UIGraphicsBeginImageContext(rect.size);CGContextRef context = UIGraphicsGetCurrentContext();[theView.layer renderInContext:context];UIImage *img = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();returnimg;}
4、存储图片把要处理的图片以image.png的名字存储到app home地下的Document目录中NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image.png"];[UIImagePNGRepresentation(image) writeToFile:pathatomically:YES];存储到手机的图片库中CGImageRef screen = UIGetScreenImage();UIImage* image = [UIImage imageWithCGImage:screen];CGImageRelease(screen);UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
5、UILabel根据text自动调整大小label.text = @"**********";CGRect frame = label.frame;frame.size.height = 10000;// 设置一个很大的高度label.frame = frame;[label sizeToFit];frame.size.height = label.frame.size.height;label.frame = frame;
6、捕捉屏幕截图CALayer实例使用Core Graphics的renderInContext方法可以将视图绘制到图像上下文中以便转化为其他UIImage实例。前提先#import+ (UIImage *) imageFromView: (UIView *)theView { // draw a view's contents into an image context UIGraphicsBeginImageContext(theView.frame.size); CGContextRef context = UIGraphicsGetCurrentContext(); [theView.layer renderInContext:context]; UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return theImage;}注:UIGraphicsBeginImageContext(CGSize size)创建一个基于位图的上下文(context),并将其设置为当前上下文。函数功能与UIGraphicsBeginImageContextWithOptions相同,相当于该方法的opaque参数为NO,scale因子为1.0。而UIGraphicsEndImageContext()方法是移除栈顶的基于当前位图的图形上下文。