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:
Creates a gdkpixbuf.pixbuf.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.
GdkPixbuf ships with a program called gdk-pixbuf-csource, which allows for conversion of gdkpixbuf.pixbuf.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:
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.