Pixbuf.from_inline
Description:
[ 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.
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 |