gdk-pixbuf-creating: 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.