Constructor

GdkPixbufPixbufnew_from_inline

deprecated: 2.32 

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 GdkPixbufs 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 GResource instead.

Parameters

data_length

Type: gint

Length in bytes of the data argument or -1 to disable length checks.

data

Type: An array of guint8

Byte data containing a serialized GdkPixdata structure.

The length of the array is specified in the data_length argument.
The data is owned by the caller of the function.
copy_pixels

Type: gboolean

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

error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the constructor if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: GdkPixbuf

A newly-created pixbuf.

The caller of the function takes ownership of the data, and is responsible for freeing it.