gdk-pixbuf-Image-Data-in-Memory: Image Data in Memory
Description
Creating a pixbuf from image data that is already in memory.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.