इन मामलों में पीईजीटीके की बजाय जीटीके से दस्तावेज़ों को पढ़ने के लिए उपयोगी है, क्योंकि वे अधिक पूर्ण हैं।
इस मामले में प्रासंगिक कार्यों gtk_image_set_from_pixmap()
और gtk_image_get_pixbuf()
हैं:
Gets the GdkPixbuf being displayed by the GtkImage. The storage type of the image must be GTK_IMAGE_EMPTY or GTK_IMAGE_PIXBUF.
समस्या यह है कि GtkImage
विजेट पकड़ सकता है दोनों एक GdkPixbuf
, एक GdkPixmap
, एक GdkImage
... लेकिन यह उन दोनों के बीच परिवर्तित नहीं कर सकते, यही है, आप केवल जो भी आपने संग्रहीत किया है उसे पुनर्प्राप्त कर सकते हैं।
आप एक पिक्समैप संग्रहित कर रहे हैं और एक पिक्सबफ प्राप्त करने की कोशिश कर रहे हैं, और यह काम नहीं करेगा। अब, समाधान क्या है? यह उस पर निर्भर करता है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं। शायद यह पर्याप्त है यदि आप इसे gtk.pixbuf.get_from_drawable():
w,h = disp.pixmap.get_size()
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, w, h)
pb.get_from_drawable(disp.pixmap, disp.pixmap.get_colormap(),
0, 0, 0, 0, width, height)
pb.save('path.png')
के साथ एक पिक्सबफ में कनवर्ट करें