我有一个空间,它绘制到一个给定的CGContextRef,它通常在自定义视图的drawRect例程中提供,但是我还需要生成一个可以绘制的CGContextRef,这样我就可以将生成的图像保存为一个PNG文件。
答案 0 :(得分:4)
原来这很简单:
NSImage *toSave = [[NSImage alloc] initWithSize:CGSizeMake(600, 900)];
[toSave lockFocus];
CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
//drawing code
[toSave unlockFocus];
NSBitmapImageRep *imgRep = [[toSave representations] objectAtIndex: 0];
NSData *data = [imgRep representationUsingType: NSPNGFileType properties: nil];
[data writeToFile: @"/path/to/file.png" atomically: NO];