private Object extractImageData(BufferedImage img){ DataBuffer buf = img.getRaster().getDataBuffer(); switch (buf.getDataType()){ case DataBuffer.TYPE_BYTE: DataBufferByte byteBuf = (DataBufferByte) buf; return byteBuf.getData(); case DataBuffer.TYPE_USHORT: DataBufferUShort shortBuf = (DataBufferUShort) buf; return shortBuf.getData(); } return null; }
case DataBuffer.TYPE_USHORT: short[] pixels = ((DataBufferUShort) buffer).getData(); ok = GDI.GetDIBits(blitDC, outputBitmap, 0, raster.getHeight(), pixels, bi, 0);
/** * Converts the decoded buffer into a BufferedImage. * precision: 16 bit, componentCount = 1 * * @param decoded data buffer * @param precision * @param width of the image * @param height of the image @return a BufferedImage.TYPE_USHORT_GRAY */ private BufferedImage to16Bit1ComponentGrayScale(int[][] decoded, int precision, int width, int height) { BufferedImage image; if (precision == 16) { image = new BufferedImage(width, height, BufferedImage.TYPE_USHORT_GRAY); } else { ColorModel colorModel = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] {precision}, false, false, Transparency.OPAQUE, DataBuffer.TYPE_USHORT); image = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(width, height), colorModel.isAlphaPremultiplied(), null); } short[] imageBuffer = ((DataBufferUShort) image.getRaster().getDataBuffer()).getData(); for (int i = 0; i < imageBuffer.length; i++) { imageBuffer[i] = (short) decoded[0][i]; } return image; }
for (int i = 0; i < offsets.length; i++) { final int offset = offsets[i]; Arrays.fill(data.getData(i), offset, offset + size, n);
break; case 16: short[] row16 = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); read16bitChannel(c, channels, destRaster.getDataBuffer(), interleavedBands, bandOffset, pSourceCM, row16, pSource, pDest, pXSub, pYSub, header.width, header.height, pByteCounts, c * header.height, pCompression == PSD.COMPRESSION_RLE); break;
for (short w : wordBuffer.getData())
break; case 16: short[] rowDataUShort = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); readRowUShort(imageInput, height, srcRegion, header.getOrigin(), 1, 1, rowDataUShort, destRaster, rowRaster, y); break;
break; case 16: short[] row16 = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); read16bitChannel(c, imageType.getNumBands(), raster.getDataBuffer(), interleavedBands, bandOffset, sourceCM, row16, area, area, xsub, ysub, width, height, byteCounts, 0, compression == PSD.COMPRESSION_RLE);
case DataBuffer.TYPE_USHORT: rowRaster.setDataElements(0, 0, raster.createChild(0, y, raster.getWidth(), 1, 0, 0, null)); short[] shorts = ((DataBufferUShort) buffer).getData(); imageOutput.writeShorts(shorts, 0, shorts.length); break;
break; case DataBuffer.TYPE_USHORT: rowDataUShort = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); break; case DataBuffer.TYPE_FLOAT:
break; case 16: short[] rowDataUShort = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); readRowUShort(input, height, srcRegion, header.getOrigin(), xSub, ySub, rowDataUShort, destRaster, clippedRow, y); break;
break; case 2: short[] rowDataUShort = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(c); readRowUShort(height, srcRegion, scanlineOffsets, scanlineLengths, compression, xSub, ySub, c, rowDataUShort, destChannel, srcChannel, y); break;
? ((DataBufferUShort) dataBuffer).getData(band) : ((DataBufferShort) dataBuffer).getData(band);
private Object extractImageData(BufferedImage img){ DataBuffer buf = img.getRaster().getDataBuffer(); switch (buf.getDataType()){ case DataBuffer.TYPE_BYTE: DataBufferByte byteBuf = (DataBufferByte) buf; return byteBuf.getData(); case DataBuffer.TYPE_USHORT: DataBufferUShort shortBuf = (DataBufferUShort) buf; return shortBuf.getData(); } return null; }
break; case DataBuffer.TYPE_USHORT: normalizeColor(interpretation, ((DataBufferUShort) raster.getDataBuffer()).getData()); break; default:
short[] rowDataUShort = ((DataBufferUShort) rowRaster.getDataBuffer()).getData(); readRowUShort(input, height, srcRegion, xSub, ySub, rowDataUShort, destRaster, clippedRow, y); break;
/** Returns a copy of this image as a TYPE_USHORT_GRAY BufferedImage. */ public BufferedImage get16BitBufferedImage() { BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_USHORT_GRAY); Raster raster = bi.getData(); DataBufferUShort db = (DataBufferUShort)raster.getDataBuffer(); System.arraycopy(getPixels(), 0, db.getData(), 0, db.getData().length); bi.setData(raster); return bi; }
/** Creates a ShortProcessor from a TYPE_USHORT_GRAY BufferedImage. */ public ShortProcessor(BufferedImage bi) { if (bi.getType()!=BufferedImage.TYPE_USHORT_GRAY) throw new IllegalArgumentException("Type!=TYPE_USHORT_GRAY"); WritableRaster raster = bi.getRaster(); DataBuffer buffer = raster.getDataBuffer(); short[] data = ((DataBufferUShort) buffer).getData(); //short[] data2 = new short[data.length]; //System.arraycopy(data, 0, data2, 0, data.length); init(raster.getWidth(), raster.getHeight(), data, null); }
public RasterShortABGRProvider(Raster raster, boolean hasAlpha) { super(raster, 16, (hasAlpha ? 8 : 6) * raster.getWidth()); this.hasAlpha = hasAlpha; shorts = ((DataBufferUShort) raster.getDataBuffer()).getData(); bgrOrder = ((ComponentSampleModel) raster.getSampleModel()).getBandOffsets()[0] != 0; }
private void nullifyUnusedBits(int bitsStored, BufferedImage bi) { DataBuffer db = bi.getRaster().getDataBuffer(); switch (db.getDataType()) { case DataBuffer.TYPE_USHORT: nullifyUnusedBits(bitsStored, ((DataBufferUShort) db).getData()); break; case DataBuffer.TYPE_SHORT: nullifyUnusedBits(bitsStored, ((DataBufferShort) db).getData()); break; } }