Qualcuno ha idea di come posso acquisire lo schermo utilizzando l'obiettivo c in mac os? per essere più specifici, come posso catturare la schermata dell'applicazione attiva/focalizzata, quindi creare un'immagine in un percorso specificato.
Qualsiasi aiuto è molto apprezzato.acquisizione dello schermo utilizzando l'obiettivo c per mac
7
A
risposta
4
Avete controllato il codice “Son of Grab” di Apple per l'acquisizione di immagini di Windows con l'API di CGWindow?
1
È possibile anche controllare di Apple OpenGLScreenSnapshot
7
@ Daniel, Non hai bisogno di capire e realizzare l'intero "Figlio di Grab". Hai solo bisogno del codice qui sotto.
La funzione di seguito vi darà la schermata
// This just invokes the API as you would if you wanted to grab a screen shot. The equivalent using the UI would be to
// enable all windows, turn off "Fit Image Tightly", and then select all windows in the list.
CGImageRef screenShot = CGWindowListCreateImage(CGRectInfinite, kCGWindowListOptionOnScreenOnly, kCGNullWindowID, kCGWindowImageDefault);
Utilizzare il seguente codice per convertirlo in un NSImage
NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:screenShot];
// Create an NSImage and add the bitmap rep to it...
NSImage *image = [[NSImage alloc] init];
[image addRepresentation:bitmapRep];
[bitmapRep release];
bitmapRep = nil;
sì, l'ho visto, io sono piuttosto nuovo per Objective C , Son of Grab è un po 'difficile per me. il mio requisito è molto semplice, creare un'app che funzioni in background, nel soddisfare determinati criteri, basta catturare la finestra focalizzata corrente e creare un'immagine su un percorso specificato – Daniel