图片截取
UIImageView * imgView =[[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 420, 375)];
[self.view addSubview:imgView];
UIImage * img =[UIImage imageNamed:@"zc.jpg"];
CGImageRef imgRef =[img CGImage];
//截取位置
imgRef =CGImageCreateWithImageInRect(imgRef, CGRectMake(0, 0, 420, 400));
img =[UIImage imageWithCGImage:imgRef];
imgView.image =img;
注:imgView.contentMode =UIViewContentModeScaleAspectFill; //保持图片原有比例拉伸,默认是哪里短哪里拉伸。
调整图片尺寸
UIGraphicsBeginImageContextWithOptions(CGSizeMake(200, 200), NO, 0.0f);
[img drawInRect:CGRectMake(0, 0, 200, 200)];
UIImage * newImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
注:创建一个200*200的画布,将图片画在指定范围。
Core Image过滤器
imgView =[[UIImageView alloc]initWithFrame:CGRectMake(20, 80, 150, 150)];
imgView.image =[UIImage imageNamed:@"zc.jpg"];
[self.view addSubview:imgView];
UISlider * slider =[[UISlider alloc]initWithFrame:CGRectMake(20, 250, 200, 20)];
slider.maximumValue =1.0f;
slider.minimumValue =-1.0f;
slider.value=0.0f;
[slider addTarget:self action:@selector(changeValue:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:slider];
_context =[CIContext contextWithOptions:nil];
_filter =[CIFilter filterWithName:@"CIColorControls"];
//设置输入源
[_filter setValue:[CIImage imageWithCGImage:[UIImage imageNamed:@"zc.jpg"].CGImage] forKey:@"inputImage"];
}
-(void)changeValue:(UISlider *)slider
{
//设置滤镜参数
[_filter setValue:[NSNumber numberWithFloat:slider.value] forKey:@"inputSaturation"];
//取得输出图像
CIImage *outputImage =[_filter outputImage];
//转格式
CGImageRef temp =[_context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage * newImage =[UIImage imageWithCGImage:temp];
imgView.image =newImage;
}
注:@import CoreImage; 加CoreImage.framework