Pixbuf.from_inline


Description:

[ CCode ( has_construct_function = false ) ]
[ Version ( deprecated = true , deprecated_since = "2.32" ) ]
public Pixbuf.from_inline (uint8[] data, bool copy_pixels = true) throws Error

Warning: Pixbuf.from_inline is deprecated since 2.32.

Creates a `GdkPixbuf` from a flat representation that is suitable for storing as inline data in a program.

Note:

Use `GResource` instead.

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:

```c 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.

Parameters:

data

Byte data containing a serialized `GdkPixdata` structure

copy_pixels

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

data_length

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

Returns:

A newly-created pixbuf