2009-11-06 10 views

Odpowiedz

4

Czy wymeldowałeś się z Apple “Son of Grab” do przechwytywania obrazów okien z apkami CGWindow?

+1

Tak, widziałem go, jestem raczej nowy w Objective C , Son of Grab jest dla mnie trochę trudny. moje wymaganie jest bardzo proste, stwórz aplikację działającą w tle, po spełnieniu określonych kryteriów, po prostu uchwyć bieżące skupione okno i utwórz obraz na określonej ścieżce – Daniel

1

Można również sprawdzić Apple OpenGLScreenSnapshot

7

@Daniel, Nie trzeba zrozumieć i wdrożyć cały „Synu Grab”. Potrzebujesz tylko kodu poniżej.

Poniższa funkcja daje zrzut ekranu

// 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); 

użyć następującego kodu, aby przekształcić go w 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; 
Powiązane problemy