## GimpBilinear GimpBilinear — |

## Synopsis

    gdouble     gimp_bilinear                   (gdouble x,
                                                 gdouble y,
                                                 gdouble *values);
    guchar      gimp_bilinear_8                 (gdouble x,
                                                 gdouble y,
                                                 guchar *values);
    guint16     gimp_bilinear_16                (gdouble x,
                                                 gdouble y,
                                                 guint16 *values);
    guint32     gimp_bilinear_32                (gdouble x,
                                                 gdouble y,
                                                 guint32 *values);
    GimpRGB     gimp_bilinear_rgb               (gdouble x,
                                                 gdouble y,
                                                 GimpRGB *values);
    GimpRGB     gimp_bilinear_rgba              (gdouble x,
                                                 gdouble y,
                                                 GimpRGB *values);
    void        gimp_bilinear_pixels_8          (guchar *dest,
                                                 gdouble x,
                                                 gdouble y,
                                                 guint bpp,
                                                 gboolean has_alpha,
                                                 guchar **values);

## Description

## Details

### gimp_bilinear ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### gimp_bilinear_8 ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### gimp_bilinear_16 ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### gimp_bilinear_32 ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### gimp_bilinear_rgb ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### gimp_bilinear_rgba ()

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

`x` : |
`y` : |
`values` : |
Returns : |

### 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].

`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.