Actualmente estoy girando una matriz de valores de píxel (creados originalmente con un objeto java.awt.image.PixelGrabber) en un objeto de imagen usando el siguiente código:¿Convertir una matriz de píxeles en un objeto de imagen con ImageIO de 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);
}
¿Es posible lograr el mismo ¿Resultado de utilizar clases de los paquetes de ImageO para que no tenga que usar AWT Toolkit?
Toolkit.getDefaultToolkit() no parece ser 100% confiable y algunas veces lanzará un AWTError, mientras que las clases ImageIO siempre deberían estar disponibles, por lo que estoy interesado en cambiar mi método.
Gracias bcash, pero obtengo una java.lang.ArrayIndexOutOfBoundsException cuando pruebo ese código. ¿Algunas ideas? –
Creo que esto está cerca, ¿podríamos necesitar más detalles de Chris con los detalles? esto parece que debería funcionar ... ¿Cuáles son tus datos? ¿son RGB? ARGB? algún tipo de formato empaquetado? –
Los píxeles provienen de un PixelGrabber como tal: int [] pixels = new int [width * height]; PixelGrabber pg = new PixelGrabber (img, 0, 0, ancho, alto, píxeles, 0, ancho); pg.grabPíxeles(); –