Learn R Programming

RGtk2 (version 2.20.31)

gdk-pixbuf-Image-Data-in-Memory: Image Data in Memory

Description

Creating a pixbuf from image data that is already in memory.

Arguments

Methods and Functions

gdkPixbufNew(colorspace, has.alpha, bits.per.sample, width, height) gdkPixbufNewFromData(data, colorspace, has.alpha, bits.per.sample, width, height, rowstride) gdkPixbufNewFromXpmData(data) gdkPixbufNewSubpixbuf(object, src.x, src.y, width, height) gdkPixbufCopy(object)

Detailed Description

The most basic way to create a pixbuf is to wrap an existing pixel buffer with a GdkPixbuf structure. You can use the gdkPixbufNewFromData function to do this You need to specify the destroy notification function that will be called when the data buffer needs to be freed; this will happen when a GdkPixbuf is finalized by the reference counting functions If you have a chunk of static data compiled into your application, you can pass in NULL as the destroy notification function so that the data will not be freed. The gdkPixbufNew function can be used as a convenience to create a pixbuf with an empty buffer. This is equivalent to allocating a data buffer using malloc() and then wrapping it with gdkPixbufNewFromData. The gdkPixbufNew function will compute an optimal rowstride so that rendering can be performed with an efficient algorithm. As a special case, you can use the gdkPixbufNewFromXpmData function to create a pixbuf from inline XPM image data. You can also copy an existing pixbuf with the gdkPixbufCopy function. This is not the same as just doing a gObjectRef() on the old pixbuf; the copy function will actually duplicate the pixel data in memory and create a new GdkPixbuf structure for it.

References

http://library.gnome.org/devel//gdk-pixbuf/gdk-pixbuf-Image-Data-in-Memory.html