2010-06-26 11 views
6

के साथ एक स्क्रीनशॉट लेना मैं सी और जीटीके के साथ पूरी स्क्रीन का एक स्क्रीनशॉट लेने की कोशिश कर रहा हूं। मैं गति कारणों से बाहरी एप्लिकेशन को कॉल नहीं करना चाहता हूं। मुझे इसके लिए पाइथन कोड मिला है (Take a screenshot via a python script. [Linux]); मैं सिर्फ इतना है कि कैसे करना है सीसी GTK

+1

ऐसा लगता है कि आपके द्वारा लिंक किए गए पायथन कोड जीटीके एपीआई कॉल में एक अच्छा पालना है, आपको सी – crazyscot

+0

एचएम में उपयोग करने की आवश्यकता होगी, आप सही हैं। उस और gnome-screenshot कोड के बीच, मैंने इसे समझ लिया है। धन्यवाद। – snostorm

+1

संभावित डुप्लिकेट [जीटीके पायथन स्क्रिप्ट को सी में कनवर्ट करें] (http://stackoverflow.com/questions/3045850/convert-a-gtk-python-script-to-c) – u0b34a0f6ae

उत्तर

9

में सूक्ति-स्क्रीनशॉट कोड और एक अजगर उदाहरण को देखने के बाद यह पता लगाने की जरूरत है, मैं इस के साथ आया था:

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; 
} 

कौन सा लगता है पूरी तरह से काम करने के लिए। धन्यवाद!

+0

दुर्भाग्यवश यह अब पूरी तरह से पुराना है और एपीआई को 3.10 के बाद हटा दिया गया है – Lothar

संबंधित मुद्दे