RGtk2 (version 2.20.31)

gdkDrawableGetImage: gdkDrawableGetImage

Description

A GdkImage stores client-side image data (pixels). In contrast, GdkPixmap and GdkWindow are server-side objects. gdkDrawableGetImage obtains the pixels from a server-side drawable as a client-side GdkImage. The format of a GdkImage depends on the GdkVisual of the current display, which makes manipulating GdkImage extremely difficult; therefore, in most cases you should use gdkPixbufGetFromDrawable instead of this lower-level function. A GdkPixbuf contains image data in a canonicalized RGB format, rather than a display-dependent format. Of course, there's a convenience vs. speed tradeoff here, so you'll want to think about what makes sense for your application.

Usage

gdkDrawableGetImage(object, x, y, width, height)

Arguments

object
x
x coordinate on drawable
y
y coordinate on drawable
width
width of region to get
height
height or region to get

Value

GdkImage] a GdkImage containing the contents of drawable

Details

x, y, width, and height define the region of drawable to obtain as an image. You would usually copy image data to the client side if you intend to examine the values of individual pixels, for example to darken an image or add a red tint. It would be prohibitively slow to make a round-trip request to the windowing system for each pixel, so instead you get all of them at once, modify them, then copy them all back at once. If the X server or other windowing system backend is on the local machine, this function may use shared memory to avoid copying the image data. If the source drawable is a GdkWindow and partially offscreen or obscured, then the obscured portions of the returned image will contain undefined data.