Próbuję zrobić zrzut ekranu całego ekranu za pomocą C i GTK. Nie chcę nawiązywać połączenia z zewnętrzną aplikacją ze względu na szybkość. Znalazłem kod Pythona do tego (Take a screenshot via a python script. [Linux]); Po prostu trzeba dowiedzieć się, jak to zrobić w C.Wykonanie zrzutu ekranu za pomocą C GTK
6
A
Odpowiedz
9
Po patrząc na kod GNOME-screenshot i przykład Python, wpadłem na to:
GdkPixbuf * get_screenshot(){
GdkPixbuf *screenshot;
GdkWindow *root_window;
gint x_orig, y_orig;
gint width, height;
root_window = gdk_get_default_root_window();
gdk_drawable_get_size (root_window, &width, &height);
gdk_window_get_origin (root_window, &x_orig, &y_orig);
screenshot = gdk_pixbuf_get_from_drawable (NULL, root_window, NULL,
x_orig, y_orig, 0, 0, width, height);
return screenshot;
}
który wydaje się działać idealnie. Dzięki!
+0
Niestety jest to teraz całkowicie nieaktualne, a interfejsy API są usuwane od 3.10 – Lothar
Powiązane problemy
- 1. Wykonanie zrzutu ekranu obiektu Flash za pomocą Selenium z Webdriverem
- 2. Wysyłanie zrzutu ekranu przez C#
- 3. Nakładka ekranu do zrzutu ekranu
- 4. Jak mogę zrzutu ekranu witryny za pomocą R?
- 5. Nauka programowania GUI za pomocą GTK + 2 lub GTK + 3?
- 6. Wykrywanie włamania do gry za pomocą analizy zrzutów ekranu C#
- 7. Jak stylizować GTK + za pomocą niestandardowego CSS?
- 8. Skrobanie ekranu za pomocą Pythona
- 9. Jak zrobić zrzut ekranu z pełną witryną za pomocą C# i WebKit.NET?
- 10. Wykonanie zapisanego procesu za pomocą OPENQUERY
- 11. Scala za wykonanie zrozumieniem
- 12. Instalowanie gtk i kompilowanie za pomocą gcc pod oknami?
- 13. Zrzuty ekranu za pomocą PhantomJS w języku C#
- 14. Ogromne zużycie pamięci PhantomJS po zrobieniu zrzutu ekranu
- 15. C# LINQ - Opóźnione wykonanie
- 16. Czy można zapisać stan programu za pomocą zrzutu pamięci?
- 17. Błąd 0x80004005 podczas odczytu pliku zrzutu za pomocą programu WinDbg
- 18. Motyw Gtk w GTK # (Windows)
- 19. Tworzenie wykresów w Gtk/Gtk #
- 20. Kompilowanie C/GTK w Eclipse
- 21. Używanie GTK + w Visual C++
- 22. Przechwytywanie ekranu Windows za pomocą ffmpeg
- 23. Uzyskaj status ekranu za pomocą ADB
- 24. Zmiana orientacji ekranu programowo za pomocą przycisku
- 25. Uzyskaj natywną rozdzielczość ekranu za pomocą jQuery
- 26. Czy jest technicznie możliwe zaprogramowanie zrzutu ekranu witryny internetowej?
- 27. Declarative GTK
- 28. Skalowanie obrazu w GTK
- 29. Wykonanie testów jednostek za pomocą wiersza polecenia msbuild
- 30. Wykonanie parsowania stron za pomocą Node.js i XPath
Wygląda raczej na to, że kod Pythona, z którym się łączysz, jest dobrym elementem do wywołań GTK API, które będziesz musiał użyć w C. – crazyscot
Hm, masz rację. Pomiędzy tym a kodem gnoma-screenshota, wymyśliłem to. Dziękuję Ci. – snostorm
możliwy duplikat [Konwersja skryptu pyta GTK na C] (http://stackoverflow.com/questions/3045850/convert-a-gtk-python-script-to-c) – u0b34a0f6ae