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