public byte[] extractBytes (String ImageName) throws IOException { // open image File imgPath = new File(ImageName); BufferedImage bufferedImage = ImageIO.read(imgPath); // get DataBufferBytes from Raster WritableRaster raster = bufferedImage .getRaster(); DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); return ( data.getData() ); }
/** * Return image raster as bytes array. * * @param bi the {@link BufferedImage} * @return The raster data as byte array */ public static byte[] imageToBytes(BufferedImage bi) { return ((DataBufferByte) bi.getData().getDataBuffer()).getData(); } }
byte[] pixels = ((DataBufferByte) raster.getDataBuffer()).getData(); for (int row = 0; row < height; row++) for (int col = 0; col < width; col++)
final byte[] pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); final int width = image.getWidth(); final int height = image.getHeight();
/** Sets raster and sampleModel */ private void allocateRaster(boolean inverted) { final int value = inverted ? 1 : 0; WritableRaster result; if ((tileWidth != tileHeight) || (value == 0)) { result = buildSolidRaster(tileWidth, tileHeight, value); } else { Raster template = getSolidRaster(tileWidth, tileHeight, value); result = template.createCompatibleWritableRaster(); byte[] src = ((DataBufferByte) template.getDataBuffer()).getData(); byte[] dst = ((DataBufferByte) result.getDataBuffer()).getData(); System.arraycopy(src, 0, dst, 0, src.length); } raster = result; }
/** * Based on answer: https://stackoverflow.com/a/12062505/7030976 * * @param bgr - byte array in bgr format * @return new image */ private BufferedImage buildImage(byte[] bgr) { BufferedImage image = new BufferedImage(resolution.width, resolution.height, BufferedImage.TYPE_3BYTE_BGR); byte[] imageData = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); System.arraycopy(bgr, 0, imageData, 0, bgr.length); return image; }
private static MagickImage rgbToMagic(BufferedImage pImage, boolean pAlpha) throws MagickException { MagickImage image = new MagickImage(); BufferedImage buffered = ImageUtil.toBuffered(pImage, pAlpha ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR); // Need to get data of sub raster, not the full data array, this is // just a convenient way Raster raster; if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight())); } else { raster = buffered.getRaster(); } image.constituteImage(buffered.getWidth(), buffered.getHeight(), pAlpha ? "ABGR" : "BGR", ((DataBufferByte) raster.getDataBuffer()).getData()); return image; }
private static void invertCMYK(final Raster raster) { byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); for (int i = 0, dataLength = data.length; i < dataLength; i++) { data[i] = (byte) (255 - data[i] & 0xff); } }
public WritableRaster filter(Raster src, WritableRaster dest) { if (dest == null) dest = src.createCompatibleWritableRaster(); // may have to add some instance of checks byte[] srcPixels = ((DataBufferByte) src.getDataBuffer()).getData(); byte[] destPixels = ((DataBufferByte) dest.getDataBuffer()).getData(); boolean defaultDecode = 0.0f == decode[0]; int Y; int bands = src.getNumBands(); for (int pixel = 0; pixel < srcPixels.length; pixel += bands) { Y = srcPixels[pixel] & 0xff; Y = defaultDecode ? 255 - Y : Y; Y = (Y < 0) ? (byte) 0 : (Y > 255) ? (byte) 0xFF : (byte) Y; destPixels[pixel] = (byte) Y; } return dest; }
DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); byte[] bytes = data.getData();
private void getImagePixels() { int w = image.getWidth(); int h = image.getHeight(); int type = image.getType(); if ((w != width) || (h != height) || (type != BufferedImage.TYPE_3BYTE_BGR)) { BufferedImage temp = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = temp.createGraphics(); g.drawImage(image, 0, 0, null); image = temp; } pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); }
if (buffered.getRaster().getParent() != null) { raster = buffered.getData(new Rectangle(buffered.getWidth(), buffered.getHeight())); raster = buffered.getRaster(); image.constituteImage(buffered.getWidth(), buffered.getHeight(), pAlpha ? "ABGR" : "I", ((DataBufferByte) raster.getDataBuffer()).getData());
private static void convertYCbCr2RGB(final Raster raster, final int numComponents) { final int height = raster.getHeight(); final int width = raster.getWidth(); final byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { YCbCrConverter.convertYCbCr2RGB(data, data, (x + y * width) * numComponents); } } }
byte[] bank = ((DataBufferByte) raster.getDataBuffer()).getData(); if (startx == 0 && starty == 0 && scanWidth == width && scanHeight == height && currentSubsampling == 1)
/** * Extracts image pixels into byte array "pixels" */ protected void getImagePixels() { int w = image.getWidth(); int h = image.getHeight(); int type = image.getType(); if ((w != width) || (h != height) || (type != BufferedImage.TYPE_3BYTE_BGR)) { // create new image with right size/format BufferedImage temp = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = temp.createGraphics(); g.drawImage(image, 0, 0, null); image = temp; } pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); }
BufferedImage image = readJPX(encoded, options, result); Raster raster = image.getRaster(); switch (raster.getDataBuffer().getDataType()) DataBufferByte byteBuffer = (DataBufferByte) raster.getDataBuffer(); decoded.write(byteBuffer.getData()); return result; DataBufferUShort wordBuffer = (DataBufferUShort) raster.getDataBuffer(); for (short w : wordBuffer.getData())
private static void convertYCCK2CMYK(final Raster raster) { final int height = raster.getHeight(); final int width = raster.getWidth(); final byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int offset = (x + y * width) * 4; // YCC -> CMY YCbCrConverter.convertYCbCr2RGB(data, data, offset); // Inverse K data[offset + 3] = (byte) (0xff - data[offset + 3] & 0xff); } } }
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; }
Raster raster = image instanceof BufferedImage ? ((BufferedImage) image).getRaster() : image.getData(); DataBuffer buf = raster.getDataBuffer(); if (buf instanceof DataBufferByte) { writePICTData( 0, 0, image.getWidth(), image.getHeight(), image.getColorModel(), ((DataBufferByte) buf).getData(), 0, image.getWidth() );
DataBuffer dBuf = image.getData().getDataBuffer(); if (dBuf.getDataType() == DataBuffer.TYPE_BYTE) decoded.write(((DataBufferByte) dBuf).getData());