Я в настоящее время поворота массив значений пикселов (первоначально созданных с объектом java.awt.image.PixelGrabber) в объект изображения, используя следующий код:Включить массив пикселей в объект изображения с помощью ImageIO от Java?
public Image getImageFromArray(int[] pixels, int width, int height) {
MemoryImageSource mis = new MemoryImageSource(width, height, pixels, 0, width);
Toolkit tk = Toolkit.getDefaultToolkit();
return tk.createImage(mis);
}
Можно ли добиться того же результат использования классов из пакета ImageIO, поэтому мне не нужно использовать AWT Toolkit?
Toolkit.getDefaultToolkit(), кажется, не на 100% надежный и иногда может вызывать AWTError, тогда как классы ImageIO всегда должны быть доступны, поэтому меня интересует изменение моего метода.
Спасибо bcash, но я получаю java.lang.ArrayIndexOutOfBoundsException при попытке этого кода. Есть идеи? – 2008-09-24 02:53:40
Я думаю, что это близко, нам может понадобиться более подробная информация от Криса с подробностями? похоже, что это должно сработать ... Каковы ваши цели? они RGB? ARGB? какой-то упакованный формат? – 2008-09-24 04:37:39
Пикселы исходят от PixelGrabber как такового: int [] pixels = new int [width * height]; PixelGrabber pg = new PixelGrabber (img, 0, 0, ширина, высота, пиксели, 0, ширина); pg.grabPixels(); – 2008-09-24 05:17:13