Java tutorial
//package com.java2s; //License from project: LGPL import java.awt.image.BufferedImage; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; public class Main { private static IntBuffer getImageAsARGBIntBuffer(BufferedImage image) { DataBuffer buffer = image.getRaster().getDataBuffer(); if (buffer instanceof DataBufferInt) { return IntBuffer.wrap(((DataBufferInt) buffer).getData()); } else if (buffer instanceof DataBufferByte) { return ByteBuffer.wrap(((DataBufferByte) buffer).getData()).order(ByteOrder.BIG_ENDIAN).asIntBuffer(); } else { int width = image.getWidth(); int height = image.getHeight(); int[] pixels = new int[width * height]; image.getRGB(0, 0, width, height, pixels, 0, width); return IntBuffer.wrap(pixels); } } }