/** * Convert an arbitrary primitive type array with 3 samples per pixel to * an int array, i.e. RGB color with 8 bits per pixel. */ public static int[] make24Bits(Object pixels, int w, int h, boolean interleaved) { return make24Bits(pixels, w, h, interleaved, null, null); }
/** * Convert an arbitrary primitive type array with 3 samples per pixel to * a 3 x (width * height) byte array. */ public static byte[][] make24Bits(Object pixels, int w, int h, boolean interleaved, boolean reverse) { return make24Bits(pixels, w, h, interleaved, reverse, null, null); }
/** * Convert an arbitrary primitive type array with 3 samples per pixel to * a 3 x (width * height) byte array. */ public static byte[][] make24Bits(Object pixels, int w, int h, boolean interleaved, boolean reverse) { return make24Bits(pixels, w, h, interleaved, reverse, null, null); }
/** * Convert an arbitrary primitive type array with 3 samples per pixel to * an int array, i.e. RGB color with 8 bits per pixel. */ public static int[] make24Bits(Object pixels, int w, int h, boolean interleaved) { return make24Bits(pixels, w, h, interleaved, null, null); }
/** * Convert an arbitrary primitive type array with 3 samples per pixel to * a 3 x (width * height) byte array. Scaling is performed according to * the specified minimum and maximum pixel values in the original image. * * If the minimum is null, it is assumed to be 0. * If the maximum is null, it is assumed to be 2^nbits - 1. */ public static byte[][] make24Bits(Object pixels, int w, int h, boolean interleaved, boolean reverse, Double min, Double max) { int[] pix = make24Bits(pixels, w, h, interleaved, min, max); byte[][] rtn = new byte[3][pix.length]; for (int i=0; i<pix.length; i++) { byte r = (byte) ((pix[i] >> 16) & 0xff); rtn[1][i] = (byte) ((pix[i] >> 8) & 0xff); byte b = (byte) (pix[i] & 0xff); rtn[0][i] = reverse ? b : r; rtn[2][i] = reverse ? r : b; } return rtn; }
/** * Convert an arbitrary primitive type array with 3 samples per pixel to * a 3 x (width * height) byte array. Scaling is performed according to * the specified minimum and maximum pixel values in the original image. * * If the minimum is null, it is assumed to be 0. * If the maximum is null, it is assumed to be 2^nbits - 1. */ public static byte[][] make24Bits(Object pixels, int w, int h, boolean interleaved, boolean reverse, Double min, Double max) { int[] pix = make24Bits(pixels, w, h, interleaved, min, max); byte[][] rtn = new byte[3][pix.length]; for (int i=0; i<pix.length; i++) { byte r = (byte) ((pix[i] >> 16) & 0xff); rtn[1][i] = (byte) ((pix[i] >> 8) & 0xff); byte b = (byte) (pix[i] & 0xff); rtn[0][i] = reverse ? b : r; rtn[2][i] = reverse ? r : b; } return rtn; }
Object pix = DataTools.makeDataArray(buf, bpp, floatingPoint, reader.isLittleEndian()); byte[][] b = ImageTools.make24Bits(pix, width, height, reader.isInterleaved(), false, min, max);
images[i - start] = AWTImageTools.makeImage(ImageTools.make24Bits(pix, sizeX, sizeY, reader.isInterleaved(), false, min, max), sizeX, sizeY, FormatTools.isSigned(pixelType)); images[i - start] = AWTImageTools.makeImage(ImageTools.make24Bits(pix, width, height, reader.isInterleaved(), false, min, max), width, height, FormatTools.isSigned(pixelType));