private int rescale(int value, int max) { float v = (float) value / (float) max; v *= 255; return rescale((int) v); }
@Override public int getAlpha(int pixel) { if (nChannels < 4) return 255; return rescale(pixel, max); }
@Override public int getAlpha(int pixel) { if (nChannels < 4) return 255; return rescale(pixel, max); }
private int rescale(int value, int max) { float v = (float) value / (float) max; v *= 255; return rescale((int) v); }
@Override public int getRed(int pixel) { return rescale(pixel, max); }
@Override public int getRed(int pixel) { return rescale(pixel, max); }
@Override public int getBlue(int pixel) { if (nChannels == 1) return getRed(pixel); return rescale(pixel, max); }
@Override public int getBlue(int pixel) { if (nChannels == 1) return getRed(pixel); return rescale(pixel, max); }
@Override public int getGreen(int pixel) { if (nChannels == 1) return getRed(pixel); return rescale(pixel, max); }
@Override public int getGreen(int pixel) { if (nChannels == 1) return getRed(pixel); return rescale(pixel, max); }
@Override public int getGreen(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getGreen(b[0]); return rescale(b.length != 4 ? b[1] : b[2]); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getGreen(s[0]); return rescale(s.length != 4 ? s[1] : s[2], max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getGreen(i[0]); return rescale(i.length != 4 ? i[1] : i[2], max); } return 0; }
@Override public int getBlue(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getBlue(b[0]); return rescale(b.length > 2 ? b[b.length - 1] : 0); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getBlue(s[0]); return rescale(s.length > 2 ? s[s.length - 1] : 0, max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getBlue(i[0]); return rescale(i.length > 2 ? i[i.length - 1] : 0, max); } return 0; }
@Override public int getGreen(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getGreen(b[0]); return rescale(b.length != 4 ? b[1] : b[2]); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getGreen(s[0]); return rescale(s.length != 4 ? s[1] : s[2], max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getGreen(i[0]); return rescale(i.length != 4 ? i[1] : i[2], max); } return 0; }
@Override public int getBlue(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getBlue(b[0]); return rescale(b.length > 2 ? b[b.length - 1] : 0); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getBlue(s[0]); return rescale(s.length > 2 ? s[s.length - 1] : 0, max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getBlue(i[0]); return rescale(i.length > 2 ? i[i.length - 1] : 0, max); } return 0; }
@Override public int getAlpha(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getAlpha(b[0]); return rescale(b.length == 4 ? b[0] : max, max); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getAlpha(s[0]); return rescale(s.length == 4 ? s[0] : max, max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getAlpha(i[0]); return rescale(i.length == 4 ? i[0] : max, max); } return 0; }
@Override public int getRed(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getRed(b[0]); return rescale(b.length != 4 ? b[0] : b[1]); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getRed(s[0]); return rescale(s.length != 4 ? s[0] : s[1], max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getRed(i[0]); return rescale(i.length != 4 ? i[0] : i[1], max); } return 0; }
@Override public int getAlpha(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getAlpha(b[0]); return rescale(b.length == 4 ? b[0] : max, max); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getAlpha(s[0]); return rescale(s.length == 4 ? s[0] : max, max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getAlpha(i[0]); return rescale(i.length == 4 ? i[0] : max, max); } return 0; }
@Override public int getRed(Object data) { if (data instanceof byte[]) { byte[] b = (byte[]) data; if (b.length == 1) return getRed(b[0]); return rescale(b.length != 4 ? b[0] : b[1]); } else if (data instanceof short[]) { short[] s = (short[]) data; if (s.length == 1) return getRed(s[0]); return rescale(s.length != 4 ? s[0] : s[1], max); } else if (data instanceof int[]) { int[] i = (int[]) data; if (i.length == 1) return getRed(i[0]); return rescale(i.length != 4 ? i[0] : i[1], max); } return 0; }