NSImage *image = [[NSImage alloc] initByReferencingFile:SourcePath]; // 生成一个NSImage对象,从文件
[image setBackgroundColor:[NSColor blueColor]];//设置背景颜色
NSSize psize = NSMakeSize(300, 200); //目的图片大小
[image setScalesWhenResized:YES]; //设置可以缩放
[image setSize:psize]; //设置Image大小
[image setFlipped:YES]; //设置倒转
[image lockFocus]; ///锁住对象焦点
//生成一个背景图,然后把原图放大,混合在一起
NSSize iisize= NSMakeSize(300, 300);
NSImage *newImage = [[NSImage alloc] initWithSize:iisize];
[newImage lockFocus];
//使用CTGradient类
CTGradient *fade = [CTGradient gradientWithBeginningColor:[NSColor colorWithCalibratedWhite:1.0 alpha:1] endingColor:[NSColor clearColor]];
//使用CTGradient类,使用填充这个Image
[fade fillRect:NSMakeRect(0,0, [image size].width, [image size].height*fraction) angle:90.0];
//把源图片填充到目的图固定的位置,NSZeroRect 从源图的(0,0)开始,以NSMakePoint(0,50)开始填,fraction填充源图的比例
[image drawAtPoint:NSMakePoint(0,50) fromRect:NSZeroRect operation:NSCompositeSourceIn fraction:1.0];
[newImage unlockFocus];
//保存源图jpeg格式图片
NSData *tempdata;
NSBitmapImageRep *srcImageRep = [NSBitmapImageRep imageRepWithData:[image TIFFRepresentation]];
NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:0.8] forKey:NSImageCompressionFactor]; //指定保存JPEG格式
tempdata = [srcImageRep representationUsingType:NSJPEGFileType properties:imageProps];
[tempdata writeToFile:@"/Users/zhuzhichao/Desktop/temp.jpeg" atomically:YES];
//保存目的图,可以指定保存某种格式的图
[[newImage TIFFRepresentation] writeToFile:@"/Users/zhuzhichao/Desktop/temp111.jpeg" atomically:YES];
[image unlockFocus];
//把源图显示在ImageView上
[zcgargetImageView setImage:image];
[image release];