Java RGB Color Create rgba_bilinear_filter(int rgb00, int rgb01, int rgb10, int rgb11, int u, int v)

Here you can find the source of rgba_bilinear_filter(int rgb00, int rgb01, int rgb10, int rgb11, int u, int v)

Description

rgbbilineafilter

License

Open Source License

Declaration

static public int rgba_bilinear_filter(int rgb00, int rgb01, int rgb10,
            int rgb11, int u, int v) 

Method Source Code

//package com.java2s;
// I ported this from the mame project, this is their license

public class Main {
    static public int rgba_bilinear_filter(int rgb00, int rgb01, int rgb10,
            int rgb11, int u, int v) {
        int ag0, ag1, rb0, rb1;

        rb0 = (rgb00 & 0x00ff00ff)//  w  ww .  ja v a 2s  .c  om
                + ((((rgb01 & 0x00ff00ff) - (rgb00 & 0x00ff00ff)) * u) >> 8);
        rb1 = (rgb10 & 0x00ff00ff)
                + ((((rgb11 & 0x00ff00ff) - (rgb10 & 0x00ff00ff)) * u) >> 8);
        rgb00 >>= 8;
        rgb01 >>= 8;
        rgb10 >>= 8;
        rgb11 >>= 8;
        ag0 = (rgb00 & 0x00ff00ff)
                + ((((rgb01 & 0x00ff00ff) - (rgb00 & 0x00ff00ff)) * u) >> 8);
        ag1 = (rgb10 & 0x00ff00ff)
                + ((((rgb11 & 0x00ff00ff) - (rgb10 & 0x00ff00ff)) * u) >> 8);

        rb0 = (rb0 & 0x00ff00ff)
                + ((((rb1 & 0x00ff00ff) - (rb0 & 0x00ff00ff)) * v) >> 8);
        ag0 = (ag0 & 0x00ff00ff)
                + ((((ag1 & 0x00ff00ff) - (ag0 & 0x00ff00ff)) * v) >> 8);

        return ((ag0 << 8) & 0xff00ff00) | (rb0 & 0x00ff00ff);
    }
}

Related

  1. rgb_xyz(double r)
  2. rgba(double r, double g, double b, double a)
  3. RGBA(int r, int g, int b, float a)
  4. RGBA(int r, int g, int b, int a)
  5. rgba(int red, int green, int blue)
  6. rgbaColour(int red, int green, int blue, int alpha)
  7. RGBAequals(float[] rgba1, float[] rgba2, float eps)
  8. RGBAFromHEX(String stringValue)
  9. RGBAFromHSLA(float h, float s, float l, float a)