## Pixbufs Pixbufs — Functions for obtaining pixbufs |

## Functions

GdkPixbuf * | gdk_pixbuf_get_from_surface ()

## Includes

    #include <gdk/gdk.h>

## Description

Pixbufs are client-side images. For details on how to create and manipulate pixbufs, see the GdkPixbuf API documentation.

The functions described here allow to obtain pixbufs from GdkWindows and cairo surfaces.

## Functions

### gdk_pixbuf_get_from_surface ()

    GdkPixbuf *
    gdk_pixbuf_get_from_surface (cairo_surface_t *surface,
                                 gint src_x,
                                 gint src_y,
                                 gint width,
                                 gint height);

Transfers image data from a cairo_surface_t and converts it to an RGB(A) representation inside a GdkPixbuf. This allows you to efficiently read individual pixels from cairo surfaces.

This function will create an RGB pixbuf with 8 bits per channel. The pixbuf will contain an alpha channel if the `surface` contains one.

#### Parameters

surface | surface to copy from |
src_x | Source X coordinate within `surface` |
src_y | Source Y coordinate within `surface` |
width | Width in pixels of region to get |
height | Height in pixels of region to get |

#### Returns

A newly-created pixbuf with a reference count of 1, or `NULL` on error.

[nullable][transfer full]

## Types and Values