ind*_*gie 6 cocoa objective-c calayer nsview nsimage
我有一个NSView,其中包含一个NSScrollView,其中包含一个支持CALayer的NSView.我已经尝试了将NSView捕获到NSImage中的所有常用方法(使用-dataWithPDFInsideRect,NSBitmapImageRep -initWithFocusedViewRect等).但是,所有这些方法都将CALayer支持的NSView视为不存在.我已经看过这篇 StackOverflow帖子了,但这是一个关于将CALayer树渲染到图像的问题,而不是包含常规NSView和图层支持视图的NSView.
任何帮助表示赞赏,谢谢:)
小智 6
我发现这样做的唯一方法是使用CGWindow API,如:
CGImageRef cgimg = CGWindowListCreateImage(CGRectZero, kCGWindowListOptionIncludingWindow, [theWindow windowNumber], kCGWindowImageDefault);
Run Code Online (Sandbox Code Playgroud)
然后剪掉与您的视图对应的CGImage部分
-imageByCroppingToRect.
然后从裁剪的CGImage中制作一个NSImage.请注意,如果该窗口的某些部分位于屏幕外,则无法正常工作.
| 归档时间: |
|
| 查看次数: |
4476 次 |
| 最近记录: |