我需要把NSView
的内容放在NSImage
的实验项目中。这可能吗?我做了一些谷歌搜索,尝试了两种方法,我发现 - 但他们没有真正的工作。有什么建议么?如何拍摄NSView的“截图”?
回答
[[NSImage alloc] initWithData:[view dataWithPDFInsideRect:[view bounds]]];
非常感谢。 – Debashis 2010-07-15 02:11:53
+1值得注意的是,尽管这是一般的正确方法,但有些情况下它不起作用,例如像'NSOpenGLView'这样的视图有自己的OpenGL渲染上下文。在这种情况下,您需要直接获取像素数据,并从中创建一个位图代表,这不太整洁。 – walkytalky 2010-07-19 01:11:06
Obs:阴影和cornerRadius将被忽略 – codrut 2017-09-25 08:30:45
我thinkt,Debashis正在考虑更多的东西像http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Images/Images.html#//apple_ref/doc/uid/TP40003290-CH208-BCIIIJFB
问候
链接现在被打破 – Supertecnoboff 2017-06-13 12:19:04
let dataOfView = view.dataWithPDFInsideRect(view.bounds)
let imageOfView = NSImage(data: dataOfView)
从WWDC 2012届245(翻译为SWIFT):
let viewToCapture = self.window!.contentView!
let rep = viewToCapture.bitmapImageRepForCachingDisplayInRect(viewToCapture.bounds)!
viewToCapture.cacheDisplayInRect(viewToCapture.bounds, toBitmapImageRep: rep)
let img = NSImage(size: viewToCapture.bounds.size)
img.addRepresentation(rep)
swift 3 let rep = viewToCapture.bitmapImageRepForCachingDisplay(in:viewToCapture.bounds)! viewToCapture.cacheDisplay(在:viewToCapture.bounds,至:REP) 让IMG = NSImage中(尺寸:viewToCapture.bounds.size) img.addRepresentation(REP) – spacecash21 2017-07-02 17:56:43
注:不总是正常工作。我已经发布了带有旋转坐标系的标签。 – Ash 2017-07-04 14:16:30
这对我来说是最好的解决方案,与pdf版本不同,这也是阴影和圆角的原因。与窗口版本不同,这只能捕捉当前视图。 Obj C code: ' - (NSImage *)screenCap { \t NSBitmapImageRep * bitmap = [self bitmapImageRepForCachingDisplayInRect:self.bounds]; \t [self cacheDisplayInRect:self.bounds toBitmapImageRep:bitmap]; \t NSImage * result = [[NSImage alloc] initWithSize:self.bounds.size]; \t [result addRepresentation:bitmap]; \t返回结果; } ' – codrut 2017-10-16 13:36:27
- 1. 拍摄视图的截图
- 2. Android - 拍摄屏幕截图
- 3. 拍摄键使用ADB HTC EVO拍摄截图
- 4. 拍摄UIWebView的快照/屏幕截图
- 5. 如何拍摄高质量的截图/保存图像?
- 6. 从flv视频拍摄屏幕截图
- 7. 在XNA中拍摄屏幕截图
- 8. 在GLUT中拍摄屏幕截图
- 9. 以silverlight 5/xna拍摄屏幕截图
- 10. 使用java拍摄网页截图
- 11. 使用Selenium拍摄屏幕截图
- 12. 如何拍摄尚未加载的UIView的屏幕截图?
- 13. 如何拍摄出清晰的截图IOS
- 14. 如何在EMGUCV 3.1上拍摄我的相机屏幕截图?
- 15. 我如何拍摄android布局的截图?
- 16. 如何拍摄访客的页面截图?
- 17. 如何拍摄Storyboard项目流程的截图?
- 18. 如何拍摄视频尺寸的屏幕截图ffmpeg
- 19. 如何在Android中拍摄自定义相机的截图?
- 20. 如何以编程方式拍摄iPhone的截图?
- 21. 如何使用HP UFT本机拍摄AUT的屏幕截图?
- 22. 如何从Android中运行视频拍摄屏幕截图
- 23. 如何在iPod Touch第4代上拍摄视频截图?
- 24. 如何使用Xcode 8拍摄Iphone 4屏幕截图
- 25. 如何使用python-webkit2png同时拍摄很多截图?
- 26. 拍摄整个视图的屏幕截图(swift3)
- 27. 如何获取拍摄图像的URL?
- 28. 如何拍摄UIView的图片?
- 29. 拍摄Raspberry Pi上的UWP应用程序的屏幕截图
- 30. 有没有简单的方法来自动截图的拍摄?
哪些方法没不工作,为什么? – 2010-07-14 23:20:35