gdk-pixbuf-creating {RGtk2} | R Documentation

## Image Data in Memory

### Description

Creating a pixbuf from image data that is already in memory.

### Methods and Functions

`gdkPixbufNew(colorspace, has.alpha, bits.per.sample, width, height)`
`gdkPixbufNewFromData(data, colorspace, has.alpha, bits.per.sample, width, height, rowstride)`
`gdkPixbufNewFromXpmData(data)`
`gdkPixbufNewSubpixbuf(object, src.x, src.y, width, height)`
`gdkPixbufCopy(object)`

### Detailed Description

The most basic way to create a pixbuf is to wrap an existing pixel buffer with a `GdkPixbuf` structure. You can use the `gdkPixbufNewFromData` function to do this You need to specify the destroy notification function that will be called when the data buffer needs to be freed; this will happen when a `GdkPixbuf` is finalized by the reference counting functions If you have a chunk of static data compiled into your application, you can pass in `NULL` as the destroy notification function so that the data will not be freed.

The `gdkPixbufNew` function can be used as a convenience to create a pixbuf with an empty buffer. This is equivalent to allocating a data buffer using `malloc()` and then wrapping it with `gdkPixbufNewFromData`. The `gdkPixbufNew` function will compute an optimal rowstride so that rendering can be performed with an efficient algorithm.

As a special case, you can use the `gdkPixbufNewFromXpmData` function to create a pixbuf from inline XPM image data.

You can also copy an existing pixbuf with the `gdkPixbufCopy` function. This is not the same as just doing a `gObjectRef()` on the old pixbuf; the copy function will actually duplicate the pixel data in memory and create a new `GdkPixbuf` structure for it.

### Author(s)

Derived by RGtkGen from GTK+ documentation

### References

https://developer-old.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-Image-Data-in-Memory.html

[Package RGtk2 version 2.20.40 Index]