Ich versuche, einen Screenshot des gesamten Bildschirms mit C und GTK zu machen. Ich möchte aus Geschwindigkeitsgründen keinen Anruf bei einer externen Anwendung tätigen. Ich habe Python-Code dafür gefunden (Take a screenshot via a python script. [Linux]); Ich muss nur herausfinden, wie dasIch mache einen Screenshot mit C GTK
6
A
Antwort
9
Nach einem Blick auf den GNOME-Bildschirm Code und ein Python-Beispiel in C zu tun, kam ich mit auf den Punkt:
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;
}
, die perfekt zu funktionieren scheint. Vielen Dank!
+0
Leider ist dies jetzt total veraltet und APIs werden seit 3.10 entfernt – Lothar
Verwandte Themen
- 1. Wie mache ich einen "Screenshot" eines NSView?
- 2. Wie mache ich einen Screenshot mit Selen und synchronen JS
- 3. Wie mache ich einen Screenshot eines Android-Layouts?
- 4. Wie mache ich einen Screenshot Bereich Auswahl durch Zeichnen auf dem Desktop, um Screenshot zu machen?
- 5. Wie bekomme ich einen PNG (Alpha Kanal) Screenshot von Gtk Fenster?
- 6. Wie mache ich einen Screenshot auf einem Raspberry Pi mit Debian Squeeze und LXDE?
- 7. Wie kann ich bestimmte Elemente verstecken, wenn ich einen Screenshot mache?
- 8. Wie programmiere ich einen Screenshot des iPhones?
- 9. Wirft man einen Screenshot C++ cli
- 10. X11-Screenshot des aktiven Fensters schlägt für GTK-Fenster fehl
- 11. Wie mache ich einen Screenshot eines einzelnen View-Objekts statt des gesamten Bildschirms?
- 12. Wie mache ich einen Einsatz mit einem
- 13. C# screenshot Fehler?
- 14. Wie mache ich einen Screenshot der aktuellen Aktivität und teile ihn dann?
- 15. Wie mache ich einen Bildkonverter?
- 16. Wie mache ich Funktionen mit Flagparametern? (C++)
- 17. Was mache ich falsch mit C# -Objektinitialisierungen?
- 18. Getting screenshot mit PhantomJS in C#
- 19. Charting in Gtk/Gtk #
- 20. Wie kann ich einen Screenshot einer Website mit .NET machen?
- 21. C# WPF-Screenshot mit SnippingTool-Effekt
- 22. Wie mache ich einen Piepton in Android?
- 23. Wie mache ich einen grundlegenden Thread in C++
- 24. einen Screenshot mit Tooltip und Cursor sichtbar
- 25. GTK + C: Zeigeradresse wird geändert
- 26. Wie mache ich einen Slider wie Javascript?
- 27. C#: Wie mache ich einen Listening/TCP-Server?
- 28. Wie mache ich einen dynamisch wechselnden Download-Link mit Javascript?
- 29. Wie mache ich den Screenshot des gesamten Displays, das den Browser mit dem Webdriver enthält?
- 30. Wie mache ich einen Ordner/Verzeichnis
Es sieht eher so aus, als ob der Python-Code, mit dem Sie verbunden sind, eine gute Krippe in die GTK API-Aufrufe ist, die Sie in C verwenden müssen. – crazyscot
Hm, Sie haben Recht. Zwischen dem und dem Gnome-Screenshot-Code habe ich es herausgefunden. Vielen Dank. – snostorm
mögliche Duplikate von [Konvertieren Sie ein GTK-Python-Skript in C] (http://StackOverflow.com/questions/3045850/convert-a-gtk-python-script-to-c) – u0b34a0f6ae