我需要把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. 如何拍攝圓形截圖?
- 3. 如何拍攝終端屏幕截圖
- 4. Android事情:拍攝截圖
- 5. Android - 拍攝屏幕截圖
- 6. 拍攝鍵使用ADB HTC EVO拍攝截圖
- 7. 拍攝UIWebView的快照/屏幕截圖
- 8. 如何在動畫圖像時拍攝UIImageView的截圖
- 9. 如何拍攝高質量的截圖/保存圖像?
- 10. 在GLUT中拍攝屏幕截圖
- 11. 定期拍攝屏幕截圖
- 12. 使用java拍攝網頁截圖
- 13. 在XNA中拍攝屏幕截圖
- 14. 拍攝屏幕截圖(含root)
- 15. 以silverlight 5/xna拍攝屏幕截圖
- 16. 從flv視頻拍攝屏幕截圖
- 17. 使用Selenium拍攝屏幕截圖
- 18. 如何拍攝尚未加載的UIView的屏幕截圖?
- 19. 如何使用HP UFT本機拍攝AUT的屏幕截圖?
- 20. 如何在Android中拍攝自定義相機的截圖?
- 21. 如何以編程方式拍攝iPhone的截圖?
- 22. 我如何拍攝android佈局的截圖?
- 23. 如何拍攝訪客的頁面截圖?
- 24. 如何拍攝網頁的屏幕截圖
- 25. 如何在EMGUCV 3.1上拍攝我的相機屏幕截圖?
- 26. 如何拍攝Storyboard項目流程的截圖?
- 27. 如何拍攝視頻尺寸的屏幕截圖ffmpeg
- 28. 如何拍攝出清晰的截圖IOS
- 29. 拍攝後拍攝的圖像拍攝後:Swift
- 30. 如何從Android中運行視頻拍攝屏幕截圖
哪些方法沒不工作,爲什麼? – 2010-07-14 23:20:35