Devo prendere il contenuto di un NSView
e inserirli in un NSImage
, per un progetto sperimentale. È possibile? Ho fatto qualche ricerca su Google, ho provato due metodi che ho trovato, ma non funzionavano davvero. Eventuali suggerimenti?Come si acquisisce uno "screenshot" di un NSView?
risposta
[[NSImage alloc] initWithData:[view dataWithPDFInsideRect:[view bounds]]];
Grazie mille. – Debashis
+1 Vale la pena notare che, sebbene questo sia il modo giusto in generale, ci sono alcuni casi in cui non funzionerà, ad esempio viste come 'NSOpenGLView' che hanno il proprio contesto di rendering OpenGL. In tal caso è necessario ottenere direttamente i dati dei pixel e creare da essi una rappresentazione bitmap, che è un po 'meno accurata. – walkytalky
Obs: le ombre e l'angoloRadius verranno ignorati – codrut
I thinkt, Debashis sta pensando di più di cose come http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Images/Images.html#//apple_ref/doc/uid/TP40003290-CH208-BCIIIJFB
Saluti
il collegamento è ora rotto – Supertecnoboff
let dataOfView = view.dataWithPDFInsideRect(view.bounds)
let imageOfView = NSImage(data: dataOfView)
Da WWDC 2012 Session 245 (tradotto in 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 (in: viewToCapture.bounds, a: rep) diamo img = NSImage (dimensioni: viewToCapture.bounds.size) img.addRepresentation (rep) – spacecash21
Nota: non sempre funziona correttamente. Sto emettendo un'etichetta con un sistema di coordinate ruotato. – Ash
Questa è stata la soluzione migliore per me, a differenza della versione pdf, questo spiega anche le ombre e gli angoli arrotondati. A differenza della versione con tappo finestra, questa cattura solo la vista corrente. 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 risultato di ritorno; } ' – codrut
- 1. In che modo Android acquisisce screenshot?
- 2. Rileva uno screenshot Android
- 3. Come creare uno screenshot di un'area particolare?
- 4. Come si fa a prendere uno screenshot correttamente con xlib?
- 5. Come si capovolge il sistema di coordinate di un NSView?
- 6. Screenshot Webdriver
- 7. Come si acquisisce il mouse sulla finestra?
- 8. Come bloccare gli eventi NSView con un altro NSView?
- 9. Come caricare uno screenshot usando html2canvas?
- 10. Ottiene automaticamente uno screenshot di una pagina
- 11. Come fare uno screenshot con FireMonkey (multipiattaforma)
- 12. Come si fa a prendere uno screenshot di un sito web tramite il codice .Net?
- 13. Ottenere uno screenshot di un'applicazione specifica
- 14. Cattura uno screenshot di un video incorporato utilizzando C#
- 15. C#: come prendere uno screenshot di una porzione di schermo
- 16. Ottenere uno screenshot da una pagina ASP.Net
- 17. generando uno screenshot di un sito Web utilizzando jquery
- 18. Come simulare l'acquisizione di uno screenshot nel simulatore iOS?
- 19. Cattura uno screenshot con C \ GTK
- 20. Prendere uno screenshot con Silverlight 5/XNA
- 21. Centrare un NSView all'interno di NSScrollView
- 22. Comportamento autoresizing di NSView
- 23. L'acquisizione di uno screenshot di IE restituisce un'immagine nera
- 24. Esistono strumenti per visualizzare un grafico RDF? (includi uno screenshot)
- 25. immagine di sfondo ripetuta in un NSView
- 26. Come si acquisisce l'output della console sotto debug in clion?
- 27. "Le dimensioni di uno o più screenshot sono errate." quando caricate screenshot su iTunes Connect
- 28. Bash come si acquisisce lo stderr in una variabile?
- 29. Simulatore iOS si rifiuta di salvare screenshot
- 30. Come fare uno screenshot in modo programmatico su iOS?
Quali metodi didn funziona e perché? –