### Constructor

# GdkPixbuf.Pixbuf.new_from_data

#### Declaration [src]

    GdkPixbuf*
    gdk_pixbuf_new_from_data (
      const guchar* data,
      GdkColorspace colorspace,
      gboolean has_alpha,
      int bits_per_sample,
      int width,
      int height,
      int rowstride,
      GdkPixbufDestroyNotify destroy_fn,
      gpointer destroy_fn_data
    )

#### Description [src]

Creates a new `GdkPixbuf` out of in-memory image data.

Currently only RGB images with 8 bits per sample are supported.

Since you are providing a pre-allocated pixel buffer, you must also specify a way to free that data. This is done with a function of type `GdkPixbufDestroyNotify`. When a pixbuf created with is finalized, your destroy notification function will be called, and it is its responsibility to free the pixel array.

See also: `gdk_pixbuf_new_from_bytes()`

#### Parameters

`data` | An array of `guchar`
| Image data in 8-bit/sample packed format
| Ownership is not transferred to the callee
`colorspace` | `GdkColorspace`
| Colorspace for the image data
`has_alpha` | `gboolean`
| Whether the data has an opacity channel
`bits_per_sample` | `int`
| Number of bits per sample
`width` | `int`
| Width of the image in pixels, must be > 0
`height` | `int`
| Height of the image in pixels, must be > 0
`rowstride` | `int`
| Distance in bytes between row starts
`destroy_fn` | `GdkPixbufDestroyNotify`
| Function used to free the data when the pixbuf’s reference count drops to zero, or `NULL` if the data should not be freed
`destroy_fn_data` | `gpointer`
| Closure data to pass to the destroy notification function

#### Return value

Returns: `GdkPixbuf`
A newly-created pixbuf
Ownership of the data is transferred to the caller