dest is the destination image buffer (Gdk::Pixbuf). The function scales and copies the image in a new one (dest). Memory is not automatically allocated for the destination buffer. It means that the image dest must be created previously to the call of Gdk::Pixbuf::scale. Width and height of dest must be in accordance with the other arguments of the function.

dest_x and dest_y are the coordinates of the top left point in the destination image. All the pixels on the left side of dest_x and on the upper side of dest_y will remain unchanged.

dest_width and dest_height are the size (width and height) of the area to update in the destination buffer.

offset_x and offset_y are the offset of the source image in the destination image’s frame.

scale_x and scale_y are the scale factor applied to the source image before the copy. A scale factor of 1 will keep the original image size. A scale factor of 2 will create an image twice the original and so one.

interp_type is the interpolation type used for the transformation. Four types can be used :

Gdk::INTERP_NEAREST (top left): nearest neighbor sampling; this is the fastest and lowest quality mode. Quality is normally unacceptable when scaling down, but may be OK when scaling up.

Gdk::INTERP_TILES (bottom right): this is an accurate simulation of the PostScript image operator without any interpolation enabled. Each pixel is rendered as a tiny parallelogram of solid color, the edges of which are implemented with antialiasing. It resembles nearest neighbor for enlargement, and bilinear for reduction.

Gdk::INTERP_BILINEAR (bottom left): Best quality/speed balance; use this mode by default. Bilinear interpolation. For enlargement, it is equivalent to point-sampling the ideal bilinear-interpolated image. For reduction, it is equivalent to laying down small tiles and integrating over the coverage area.

Gdk::INTERP_HYPER (top right): This is the slowest and highest quality reconstruction function. It is derived from the hyperbolic filters in Wolberg’s “Digital Image Warping”, and is formally defined as the hyperbolic-filter sampling the ideal hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping).