2012-02-28 24 views
5

Mam zamiar przenieść kod przechwytywania zrzutów ekranu (C++) dla linuxa na osx. Obecne rozwiązanie uruchamia graficzne aplikacje w xvfb, a następnie używa Xlib do przechwytywania zrzutów ekranu z wyświetlacza. (Będzie to również wsparcie, jeśli działamy bez xvfb).Programowo chwytaj zrzuty ekranu w OSX

Tak jak rozumiem, osx przemieszcza się away z X11, więc moje pytanie jest co używać oprócz Xlib, aby zaimplementować to teraz? Znalazłem Quartz Display Services. Czy to ma sens teraz? Czy to działa z xvfb?

Odpowiedz

4

Tak, będzie można wywoływać funkcje, takie jak CGDisplayCreateImage (dokumentacja powiązana z Tobą), łącząc strukturę usług aplikacji z narzędziem C++.

+0

Czy można zrzutu ekranu xvfb i czy xvfb będzie istnieć w przyszłych wersjach? – Zitrax

+0

Nie wiem na 100% pewności, ale opis tej konkretnej funkcji mówi "Zwraca obraz zawierający zawartość określonego ekranu." Więc czytam na ten temat, że wszystko, co jest na ekranie, czy xvfb lub Safari, czy Photoshop czy cokolwiek, trafi do bufora przechwyconego obrazu. –

+0

Mogę dodać, że screenowanie Xvfb nie działało. Więc może jest inny framebuffer, który może być użyty na mac. Ale na razie poradzę sobie bez niego. – Zitrax

Powiązane problemy