Constructor
GdkPixbufPixbufnew_from_inline
Declaration [src]
GdkPixbuf*
gdk_pixbuf_new_from_inline (
gint data_length,
const guint8* data,
gboolean copy_pixels,
GError** error
)
Description [src]
Creates a GdkPixbuf
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
s 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.
Deprecated since: | 2.32 |
Use |
Parameters
data_length |
gint |
Length in bytes of the |
|
data |
An array of guint8 |
Byte data containing a
serialized |
|
The length of the array is specified in the data_length argument. | |
The data is owned by the caller of the function. | |
copy_pixels |
gboolean |
Whether to copy the pixel data, or use direct pointers
|
|
error |
GError ** |
The return location for a GError* , or NULL . |
Return value
Returns: | GdkPixbuf |
A newly-created pixbuf. |
|
The caller of the function takes ownership of the data, and is responsible for freeing it. |