Я читаю изображение .jpg и обращаюсь к пикселям как:
if (type == BufferedImage.TYPE_3BYTE_BGR) {
System.out.println("type.3byte.bgr");
byte[] pixels = (byte[]) sourceImage.getData().getDataElements(0, 0, w, h, null);
}
// обрабатываем этот массив с именем пикселов и отображаем полученное изображение // сначала я преобразую егоцелое число
int offseet=0;
int[] data=new int[width*height*3];
for ( i = 0; i < data.length; i++) {
data[i] = pixels[offset++] & 0xff;
}
// и затем обработать этот массив. Пока я не обрабатываю это .Теперь, когда я создаю буферизованное // изображение из массива data и отображаю его, отображаемое изображение не совпадает.// код, который я использую, это
writeEdges(data);
private BufferedImage edgesImage;
private void writeEdges(int arb[]) {
if (edgesImage == null) {
edgesImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
}
edgesImage.getWritableTile(0, 0).setDataElements(0, 0, width,height, arb);
}
// для изображения penguins.jpg (предоставлено в примерах изображений в windows 7)!
вывод, который я получаю