public PaletteData getPaletteData() { switch ( getDepth() ) { case 1: palette = new PaletteData( new RGB[] { new RGB( 0, 0, 0 ), new RGB( 255, 255, 255 ) } ); break; default: palette = new PaletteData( 0, 0, 0 ); palette.isDirect = true; break; } return palette; }
/** * Converts BufferedImage to SWT/Image with alpha channel. */ protected Image swing2swt( Device device, BufferedImage img ) { PaletteData palette = new PaletteData( 0xFF0000, 0xFF00, 0xFF ); ImageData data = new ImageData( img.getWidth(), img.getHeight(), 32, palette ); for ( int y = 0; y < data.height; y++ ) { for ( int x = 0; x < data.width; x++ ) { int rgba = img.getRGB( x, y ); int rgb = palette.getPixel( new RGB( ( rgba >> 16 ) & 0xFF, ( rgba >> 8 ) & 0xFF, rgba & 0xFF ) ); int a = ( rgba >> 24 ) & 0xFF; data.setPixel( x, y, rgb ); data.setAlpha( x, y, a ); } } return new Image( device, data ); } }
DirectColorModel colorModel = (DirectColorModel) bufferedImage.getColorModel(); PaletteData palette = new PaletteData( colorModel.getRedMask(), colorModel.getGreenMask(), colorModel.getBlueMask() ); ImageData data = new ImageData( bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette ); rgbs[i] = new RGB( reds[i] & 0xFF, greens[i] & 0xFF, blues[i] & 0xFF ); PaletteData palette = new PaletteData( rgbs ); ImageData data = new ImageData( bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette );
PaletteData setUpPalette() { if (nComponents == 1) { RGB[] entries = new RGB[256]; for (int i = 0; i < 256; i++) { entries[i] = new RGB(i, i, i); } return new PaletteData(entries); } return new PaletteData(0xFF, 0xFF00, 0xFF0000); } static void skipSegmentFrom(LEDataInputStream byteStream) {
PaletteData paletteFromBytes(byte[] bytes, int numColors) { int bytesOffset = 0; RGB[] colors = new RGB[numColors]; for (int i = 0; i < numColors; i++) { colors[i] = new RGB(bytes[bytesOffset + 2] & 0xFF, bytes[bytesOffset + 1] & 0xFF, bytes[bytesOffset] & 0xFF); bytesOffset += 3; } return new PaletteData(colors); } /**
PaletteData paletteFromBytes(byte[] bytes, int numColors) { int bytesOffset = 0; RGB[] colors = new RGB[numColors]; for (int i = 0; i < numColors; i++) { colors[i] = new RGB(bytes[bytesOffset + 2] & 0xFF, bytes[bytesOffset + 1] & 0xFF, bytes[bytesOffset] & 0xFF); bytesOffset += 3; } return new PaletteData(colors); } /**
PaletteData getPaletteData() { switch (colorType) { case COLOR_TYPE_GRAYSCALE: return createGrayscalePalette(); case COLOR_TYPE_GRAYSCALE_WITH_ALPHA: case COLOR_TYPE_RGB: case COLOR_TYPE_RGB_WITH_ALPHA: return new PaletteData(0xFF0000, 0xFF00, 0xFF); default: return null; } }
PaletteData createGrayscalePalette() { int depth = Math.min(bitDepth, 8); int max = (1 << depth) - 1; int delta = 255 / max; int gray = 0; RGB[] rgbs = new RGB[max + 1]; for (int i = 0; i <= max; i++) { rgbs[i] = new RGB(gray, gray, gray); gray += delta; } return new PaletteData(rgbs); }
PaletteData paletteFromBytes(byte[] bytes, int numColors) { int bytesOffset = 0; RGB[] colors = new RGB[numColors]; for (int i = 0; i < numColors; i++) { colors[i] = new RGB(bytes[bytesOffset + 2] & 0xFF, bytes[bytesOffset + 1] & 0xFF, bytes[bytesOffset] & 0xFF); bytesOffset += 3; } return new PaletteData(colors); } /**
PaletteData getGrayPalette() { int numColors = 1 << bitsPerSample[0]; RGB[] rgbs = new RGB[numColors]; for (int i = 0; i < numColors; i++) { int value = i * 0xFF / (numColors - 1); if (photometricInterpretation == 0) value = 0xFF - value; rgbs[i] = new RGB(value, value, value); } return new PaletteData(rgbs); }
PaletteData getGrayPalette() { int numColors = 1 << bitsPerSample[0]; RGB[] rgbs = new RGB[numColors]; for (int i = 0; i < numColors; i++) { int value = i * 0xFF / (numColors - 1); if (photometricInterpretation == 0) value = 0xFF - value; rgbs[i] = new RGB(value, value, value); } return new PaletteData(rgbs); }
PaletteData createGrayscalePalette() { int depth = Math.min(bitDepth, 8); int max = (1 << depth) - 1; int delta = 255 / max; int gray = 0; RGB[] rgbs = new RGB[max + 1]; for (int i = 0; i <= max; i++) { rgbs[i] = new RGB(gray, gray, gray); gray += delta; } return new PaletteData(rgbs); }
PaletteData getGrayPalette() { int numColors = 1 << bitsPerSample[0]; RGB[] rgbs = new RGB[numColors]; for (int i = 0; i < numColors; i++) { int value = i * 0xFF / (numColors - 1); if (photometricInterpretation == 0) value = 0xFF - value; rgbs[i] = new RGB(value, value, value); } return new PaletteData(rgbs); }
PaletteData getPaletteData() { switch (colorType) { case COLOR_TYPE_GRAYSCALE: return createGrayscalePalette(); case COLOR_TYPE_GRAYSCALE_WITH_ALPHA: case COLOR_TYPE_RGB: case COLOR_TYPE_RGB_WITH_ALPHA: return new PaletteData(0xFF0000, 0xFF00, 0xFF); default: return null; } }
PaletteData getGrayPalette() { int numColors = 1 << bitsPerSample[0]; RGB[] rgbs = new RGB[numColors]; for (int i = 0; i < numColors; i++) { int value = i * 0xFF / (numColors - 1); if (photometricInterpretation == 0) value = 0xFF - value; rgbs[i] = new RGB(value, value, value); } return new PaletteData(rgbs); }
PaletteData getPaletteData() { switch (colorType) { case COLOR_TYPE_GRAYSCALE: return createGrayscalePalette(); case COLOR_TYPE_GRAYSCALE_WITH_ALPHA: case COLOR_TYPE_RGB: case COLOR_TYPE_RGB_WITH_ALPHA: return new PaletteData(0xFF0000, 0xFF00, 0xFF); default: return null; } }
PaletteData createGrayscalePalette() { int depth = Math.min(bitDepth, 8); int max = (1 << depth) - 1; int delta = 255 / max; int gray = 0; RGB[] rgbs = new RGB[max + 1]; for (int i = 0; i <= max; i++) { rgbs[i] = new RGB(gray, gray, gray); gray += delta; } return new PaletteData(rgbs); }
/** * Returns a palette with 2 colors: black & white. */ static PaletteData bwPalette() { return new PaletteData(new RGB[] {new RGB(0, 0, 0), new RGB(255, 255, 255)}); }
static Image createNewTransparentImg(Display d, int w, int h) { final Color bg = d.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); final PaletteData palette = new PaletteData(new RGB[] {bg.getRGB()}); final ImageData sourceData = new ImageData(w, h, 1, palette); if (IS_MAC_OR_WINDOWS) { sourceData.transparentPixel = 0; } return new Image(d, sourceData); }
/** * Returns a palette with 2 colors: black & white. */ static PaletteData bwPalette() { return new PaletteData(new RGB[] {new RGB(0, 0, 0), new RGB(255, 255, 255)}); }