1
我试图做如下的批处理:如何将NSImageView图层保存到磁盘上的PNG?
- 加载图像
- 规模也
- 添加圆角的边框给它
- 保存新 形象PNG
到目前为止,我想出了这个:
CGPoint center = CGPointMake(self.window.frame.size.width/2., self.window.frame.size.height/2.);
[[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];
NSImage * newThumbnail = [[NSImage alloc] initWithData:[NSData dataWithContentsOfURL:[files objectAtIndex:0]]];
NSImageView *imageView = [[NSImageView alloc] initWithFrame:CGRectMake(center.x - (57/2.), center.y - (80/2.), 57, 80)];
[imageView setWantsLayer:YES];
imageView.layer.borderColor = [[NSColor blackColor] CGColor];
imageView.layer.cornerRadius = 4;
imageView.layer.masksToBounds = YES;
imageView.layer.borderWidth = 1.0;
imageView.image = newThumbnail;
现在我想我错过了让图层重新融入某种情境? 可能类似于[imageView.layer drawInContext: some context (NS o CG?)];
并将该上下文保存到磁盘。但我很困惑,:
什么情况下,
是否从上下文中去NSData的磁盘,
,或者如果我保存在什么地方需要一个中间图像。基本上,CALayers和CGLayers和NS对象和UI对象之间(我知道我在OS X可可在这里,它没有UIKit,我也没有使用CG的东西)我不知道如何转向以上变成了png。
其实我可能会去的石英的方法,因为它更像是OpenGL的哪个我更舒服。但这种方式也起作用。谢谢! – SaldaVonSchwartz