Refine search
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() ); }
public static final ByteBuffer getImageDataFromImage(BufferedImage bufferedImage) { WritableRaster wr; DataBuffer db; BufferedImage bi = new BufferedImage(128, 64, BufferedImage.TYPE_INT_ARGB); Graphics2D g = bi.createGraphics(); g.drawImage(bufferedImage, null, null); bufferedImage = bi; wr = bi.getRaster(); db = wr.getDataBuffer(); DataBufferInt dbi = (DataBufferInt) db; int[] data = dbi.getData(); ByteBuffer byteBuffer = ByteBuffer.allocateDirect(data.length * 4); byteBuffer.order(ByteOrder.LITTLE_ENDIAN); byteBuffer.asIntBuffer().put(data); byteBuffer.flip(); return byteBuffer; }
byte[] pixels = ((DataBufferByte) raster.getDataBuffer()).getData(); for (int row = 0; row < height; row++) for (int col = 0; col < width; col++)
/** * 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; }
public void rgbFrame(boolean isPrerollFrame, int width, int height, IntBuffer rgb) { LOG.trace("RGB frame ({}x{}), preroll is {}", width, height, isPrerollFrame); final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); final int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); rgb.get(pixels, 0, width * height); try { exchanger.exchange(image); } catch (InterruptedException e) { throw new WebcamException("Exchange has been interrupted", e); } }
/** 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; }
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(); }
public static void convertScreenShot2(IntBuffer bgraBuf, BufferedImage out){ WritableRaster wr = out.getRaster(); DataBufferInt db = (DataBufferInt) wr.getDataBuffer(); int[] cpuArray = db.getData(); bgraBuf.clear(); bgraBuf.get(cpuArray); // int width = wr.getWidth(); // int height = wr.getHeight(); // // // flip the components the way AWT likes them // for (int y = 0; y < height / 2; y++){ // for (int x = 0; x < width; x++){ // int inPtr = (y * width + x); // int outPtr = ((height-y-1) * width + x); // int pixel = cpuArray[inPtr]; // cpuArray[inPtr] = cpuArray[outPtr]; // cpuArray[outPtr] = pixel; // } // } }
DataBufferByte data = (DataBufferByte) raster.getDataBuffer(); byte[] bytes = data.getData();
/** * 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(); }
@Override public void rgbFrame(boolean preroll, int width, int height, IntBuffer rgb) { LOG.trace("New RGB frame"); if (t1 == -1 || t2 == -1) { t1 = System.currentTimeMillis(); t2 = System.currentTimeMillis(); } BufferedImage tmp = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); tmp.setAccelerationPriority(0); rgb.get(((DataBufferInt) tmp.getRaster().getDataBuffer()).getData(), 0, width * height); tmp.flush(); image = tmp; if (starting.compareAndSet(true, false)) { synchronized (this) { this.notifyAll(); } LOG.debug("GStreamer device ready"); } t1 = t2; t2 = System.currentTimeMillis(); fps = (4 * fps + 1000 / (t2 - t1 + 1)) / 5; }
byte[] bank = ((DataBufferByte) raster.getDataBuffer()).getData(); if (startx == 0 && starty == 0 && scanWidth == width && scanHeight == height && currentSubsampling == 1)
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; }
public static void convertFileToTexture() throws IOException { float[][] heightmap = readFile(); double scaleFactor = 256 * 256 * 12.8; // Slick's PNGDecoder does not support 16 bit textures // BufferedImage image = new BufferedImage(512, 512, BufferedImage.TYPE_USHORT_GRAY); // DataBufferUShort buffer = (DataBufferUShort) image.getRaster().getDataBuffer(); // scaleFactor *= 256.0f; // Slick's PNGDecoder does not support grayscale textures // BufferedImage image = new BufferedImage(512, 512, BufferedImage.TYPE_BYTE_GRAY); // DataBufferByte buffer = (DataBufferByte) image.getRaster().getDataBuffer(); BufferedImage image = new BufferedImage(512, 512, BufferedImage.TYPE_INT_RGB); DataBufferInt buffer = (DataBufferInt) image.getRaster().getDataBuffer(); for (int x = 0; x < 512; x++) { for (int z = 0; z < 512; z++) { double doubleVal = heightmap[x][z] * scaleFactor; int val = DoubleMath.roundToInt(doubleVal, RoundingMode.HALF_UP); buffer.setElem(z * 512 + x, val); } } ImageIO.write(image, "png", new File("platec_heightmap.png")); }
public void pushToTexture( GL gl, int target ) { gl.glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); ByteBuffer bytes = ByteBuffer.wrap( ( ( DataBufferByte ) getRaster( ).getDataBuffer( ) ).getData( ) ); gl.glTexImage2D( target, 0, GL_RGBA, getWidth( ), getHeight( ), 0, GL_RGBA, GL_UNSIGNED_BYTE, bytes ); } }
final WritableRaster raster = image.getRaster(); final DataBufferByte dbf = (DataBufferByte) raster.getDataBuffer(); byte[] data = dbf.getData(); final int stride = data.length / (image.getWidth() * image.getHeight());
@Override public void render(BufferedImage img, Region region) { FloraFacet treeFacet = region.getFacet(FloraFacet.class); Graphics2D g = img.createGraphics(); int width = img.getWidth(); ColorModel colorModel = img.getColorModel(); ColorBlender blender = ColorBlenders.forColorModel(ColorModels.RGBA, colorModel); DataBufferInt dataBuffer = (DataBufferInt) img.getRaster().getDataBuffer(); for (Entry<BaseVector3i, FloraType> entry : treeFacet.getRelativeEntries().entrySet()) { FloraType treeGen = entry.getValue(); int wx = entry.getKey().getX(); int wz = entry.getKey().getZ(); Color color = colorFunc.apply(treeGen); int src = color.rgba(); int dst = dataBuffer.getElem(wz * width + wx); int mix = blender.blend(src, dst); dataBuffer.setElem(wz * width + wx, mix); } g.dispose(); }
WritableRaster wr = out.getRaster(); DataBufferByte db = (DataBufferByte) wr.getDataBuffer(); byte[] cpuArray = db.getData();
@Override public void render(BufferedImage img, Region region) { ObjectFacet2D<E> facet = region.getFacet(facetClass); int width = img.getWidth(); int height = img.getHeight(); ColorModel colorModel = img.getColorModel(); ColorBlender blender = ColorBlenders.forColorModel(ColorModels.RGBA, colorModel); DataBufferInt dataBuffer = (DataBufferInt) img.getRaster().getDataBuffer(); for (int z = 0; z < height; z++) { for (int x = 0; x < width; x++) { Color src = getColor(facet, x, z); if (src != null) { int blend = blender.get(src.rgba()); dataBuffer.setElem(z * width + x, blend); } } } }
float[] nextInput = imageToFloat(((DataBufferByte) image.getRaster().getDataBuffer()).getData(), image.getWidth() * image.getHeight());