## gimppixbuf

gimppixbuf — Get a thumbnail pixbuf for a drawable or image.

## Synopsis

    enum                GimpPixbufTransparency;
    GdkPixbuf *         gimp_image_get_thumbnail            (gint32 image_ID,
                                                             gint width,
                                                             gint height,
                                                             GimpPixbufTransparency alpha);
    GdkPixbuf *         gimp_drawable_get_thumbnail         (gint32 drawable_ID,
                                                             gint width,
                                                             gint height,
                                                             GimpPixbufTransparency alpha);
    GdkPixbuf *         gimp_drawable_get_sub_thumbnail     (gint32 drawable_ID,
                                                             gint src_x,
                                                             gint src_y,
                                                             gint src_width,
                                                             gint src_height,
                                                             gint dest_width,
                                                             gint dest_height,
                                                             GimpPixbufTransparency alpha);
    gint32              gimp_layer_new_from_pixbuf          (gint32 image_ID,
                                                             const gchar *name,
                                                             GdkPixbuf *pixbuf,
                                                             gdouble opacity,
                                                             GimpLayerModeEffects mode,
                                                             gdouble progress_start,
                                                             gdouble progress_end);

## Description

Get a thumbnail pixbuf for a drawable or image.

## Details

### enum GimpPixbufTransparency

    typedef enum
    {
      GIMP_PIXBUF_KEEP_ALPHA,
      GIMP_PIXBUF_SMALL_CHECKS,
      GIMP_PIXBUF_LARGE_CHECKS
    } GimpPixbufTransparency;

### gimp_image_get_thumbnail ()

    GdkPixbuf *         gimp_image_get_thumbnail            (gint32 image_ID,
                                                             gint width,
                                                             gint height,
                                                             GimpPixbufTransparency alpha);

Retrieves a thumbnail pixbuf for the image identified by `image_ID`. The thumbnail will be not larger than the requested size.

`image_ID` : | the image ID
`width` : | the requested thumbnail width (<= 1024 pixels)
`height` : | the requested thumbnail height (<= 1024 pixels)
`alpha` : | how to handle an alpha channel
Returns : | a new GdkPixbuf

Since GIMP 2.2

### gimp_drawable_get_thumbnail ()

    GdkPixbuf *         gimp_drawable_get_thumbnail         (gint32 drawable_ID,
                                                             gint width,
                                                             gint height,
                                                             GimpPixbufTransparency alpha);

Retrieves a thumbnail pixbuf for the drawable identified by `drawable_ID`. The thumbnail will be not larger than the requested size.

`drawable_ID` : | the drawable ID
`width` : | the requested thumbnail width (<= 1024 pixels)
`height` : | the requested thumbnail height (<= 1024 pixels)
`alpha` : | how to handle an alpha channel
Returns : | a new GdkPixbuf

Since GIMP 2.2

### gimp_drawable_get_sub_thumbnail ()

    GdkPixbuf *         gimp_drawable_get_sub_thumbnail     (gint32 drawable_ID,
                                                             gint src_x,
                                                             gint src_y,
                                                             gint src_width,
                                                             gint src_height,
                                                             gint dest_width,
                                                             gint dest_height,
                                                             GimpPixbufTransparency alpha);

Retrieves a thumbnail pixbuf for the drawable identified by `drawable_ID`. The thumbnail will be not larger than the requested size.

`drawable_ID` : | the drawable ID
`src_x` : | the x coordinate of the area
`src_y` : | the y coordinate of the area
`src_width` : | the width of the area
`src_height` : | the height of the area
`dest_width` : | the requested thumbnail width (<= 1024 pixels)
`dest_height` : | the requested thumbnail height (<= 1024 pixels)
`alpha` : | how to handle an alpha channel
Returns : | a new GdkPixbuf

Since GIMP 2.2

### gimp_layer_new_from_pixbuf ()

    gint32              gimp_layer_new_from_pixbuf          (gint32 image_ID,
                                                             const gchar *name,
                                                             GdkPixbuf *pixbuf,
                                                             gdouble opacity,
                                                             GimpLayerModeEffects mode,
                                                             gdouble progress_start,
                                                             gdouble progress_end);

Create a new layer from a `GdkPixbuf`.

This procedure creates a new layer from the given `GdkPixbuf`. The image has to be an RGB image and just like with `gimp_layer_new()` you will still need to add the layer to it.

If you pass `progress_end` > `progress_start` to this function, `gimp_progress_update()` will be called for. You have to call `gimp_progress_init()` beforehand then.

`image_ID` : | The RGB image to which to add the layer.
`name` : | The layer name.
`pixbuf` : | A GdkPixbuf.
`opacity` : | The layer opacity.
`mode` : | The layer combination mode.
`progress_start` : | start of progress
`progress_end` : | end of progress
Returns : | The newly created layer.

Since GIMP 2.4