## GimpBilinear

GimpBilinear — Utility functions for bilinear interpolation.

## Functions

gdouble | gimp_bilinear ()
guchar | gimp_bilinear_8 ()
guint16 | gimp_bilinear_16 ()
guint32 | gimp_bilinear_32 ()
GimpRGB | gimp_bilinear_rgb ()
GimpRGB | gimp_bilinear_rgba ()
void | gimp_bilinear_pixels_8 ()

## Description

Utility functions for bilinear interpolation.

## Functions

### gimp_bilinear ()

    gdouble
    gimp_bilinear (gdouble x,
                   gdouble y,
                   gdouble *values);

### gimp_bilinear_8 ()

    guchar
    gimp_bilinear_8 (gdouble x,
                     gdouble y,
                     guchar *values);

### gimp_bilinear_16 ()

    guint16
    gimp_bilinear_16 (gdouble x,
                      gdouble y,
                      guint16 *values);

### gimp_bilinear_32 ()

    guint32
    gimp_bilinear_32 (gdouble x,
                      gdouble y,
                      guint32 *values);

### gimp_bilinear_rgb ()

    GimpRGB
    gimp_bilinear_rgb (gdouble x,
                       gdouble y,
                       GimpRGB *values);

### gimp_bilinear_rgba ()

    GimpRGB
    gimp_bilinear_rgba (gdouble x,
                        gdouble y,
                        GimpRGB *values);

### gimp_bilinear_pixels_8 ()

    void
    gimp_bilinear_pixels_8 (guchar *dest,
                            gdouble x,
                            gdouble y,
                            guint bpp,
                            gboolean has_alpha,
                            guchar **values);

Computes bilinear interpolation of four pixels.

When `has_alpha` is `FALSE`, it's identical to `gimp_bilinear_8()` on each channel separately. When `has_alpha` is `TRUE`, it handles alpha channel correctly.

The pixels in `values` correspond to corner x, y coordinates in the following order: [0,0], [1,0], [0,1], [1,1].

#### Parameters

dest | Pixel, where interpolation result is to be stored. |
x | x-coordinate (0.0 to 1.0). |
y | y-coordinate (0.0 to 1.0). |
bpp | Bytes per pixel. `dest` and each `values` item is an array of `bpp` bytes. |
has_alpha | `TRUE` if the last channel is an alpha channel. |
values | Array of four pointers to pixels. |

## Types and Values