Create a gdk.Pixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to ship a program with images, but don't want to depend on any external files.

gdk-pixbuf ships with a program called [gdk-pixbuf-csource][gdk-pixbuf-csource], which allows for conversion of gdk.Pixbufs into such a inline representation. In almost all cases, you should pass the --raw option to gdk-pixbuf-csource. A sample invocation would be:

|[ gdk-pixbuf-csource --raw --name=myimage_inline myimage.png

For the typical case where the inline pixbuf is read-only static data,
you don't need to copy the pixel data unless you intend to write to
it, so you can pass `FALSE` for `copy_pixels`.  (If you pass `--rle` to
`gdk-pixbuf-csource`, a copy will be made even if `copy_pixels` is `FALSE`,
so using this option is generally a bad idea.)

If you create a pixbuf from const inline data compiled into your
program, it's probably safe to ignore errors and disable length checks,
since things will always succeed:
pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL);

For non-const inline data, you could get out of memory. For untrusted inline data located at runtime, you could have corrupt inline data in addition.



data ubyte[]

Byte data containing a serialized gdkpixbuf.Pixdata structure

copyPixels bool

Whether to copy the pixel data, or use direct pointers data for the resulting pixbuf

Return Value

A newly-created gdk.Pixbuf structure with a reference, count of 1, or NULL if an error occurred.

Detailed Description

Deprecated: Use gio.Resource instead.


GException on failure. ConstructionException GTK+ fails to create the object.