title: Turn an array of pixels into an Image object with Java's ImageIO?
body: <p>I'm currently turning an array of pixel values (originally created with a java.awt.image.PixelGrabber object) into an Image object using the following code:</p>
  
  <pre><code>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);
  }
  </code></pre>
  
  <p><em>Is it possible to achieve the same result using classes from the ImageIO package(s) so I don't have to use the AWT Toolkit?</em></p>
  
  <p>Toolkit.getDefaultToolkit() does not seem to be 100% reliable and will sometimes throw an AWTError, whereas the ImageIO classes should always be available, which is why I'm interested in changing my method.</p>