/** * gimp_image_get_thumbnail: * @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 * * Retrieves a thumbnail pixbuf for the image identified by @image_ID. * The thumbnail will be not larger than the requested size. * * Return value: a new #GdkPixbuf * * Since: GIMP 2.2 **/ GdkPixbuf * gimp_image_get_thumbnail (gint32 image_ID, gint width, gint height, GimpPixbufTransparency alpha) { gint thumb_width = width; gint thumb_height = height; gint thumb_bpp; guchar *data; g_return_val_if_fail (width > 0 && width <= 1024, NULL); g_return_val_if_fail (height > 0 && height <= 1024, NULL); data = gimp_image_get_thumbnail_data (image_ID, &thumb_width, &thumb_height, &thumb_bpp); if (data) return gimp_pixbuf_from_data (data, thumb_width, thumb_height, thumb_bpp, alpha); else return NULL; }
static guchar * stpui_get_thumbnail_data_function(void *image_ID, gint *width, gint *height, gint *bpp, gint page) { if (gimp_thumbnail_data) g_free(gimp_thumbnail_data); gimp_thumbnail_data = gimp_image_get_thumbnail_data((gint) image_ID, width, height, bpp); return gimp_thumbnail_data; }