public static LUT create(int bits, byte[] r, byte[] g, byte[] b, int rOffset, int gOffset, int bOffset) { return r.length == g.length && g.length == b.length && rOffset == gOffset && gOffset == bOffset ? new Packed(bits, r, g, b, rOffset) : new PerColor(bits, r, g, b, rOffset, gOffset, bOffset); }
@Override public int getGreen(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 8) & 0xff; }
@Override public int getRed(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 16) & 0xff; }
@Override public int getBlue(int pixel) { return rgb[index(pixel, offset, rgb.length)] & 0xff; }
@Override public int getRGB(int pixel) { return rgb[index(pixel, offset, rgb.length)]; } }
@Override public int getBlue(int pixel) { return rgb[index(pixel, offset, rgb.length)] & 0xff; }
@Override public int getAlpha(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 24) & 0xff; }
@Override public int getRGB(int pixel) { return rgb[index(pixel, offset, rgb.length)]; } }
@Override public int getGreen(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 8) & 0xff; }
@Override public int getRed(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 16) & 0xff; }
public static LUT create(int bits, byte[] r, byte[] g, byte[] b, int rOffset, int gOffset, int bOffset) { return r.length == g.length && g.length == b.length && rOffset == gOffset && gOffset == bOffset ? new Packed(bits, r, g, b, rOffset) : new PerColor(bits, r, g, b, rOffset, gOffset, bOffset); }
@Override public int getAlpha(int pixel) { return (rgb[index(pixel, offset, rgb.length)] >> 24) & 0xff; }