Come creare un java.awt.Image dai dati delle immagini?
Domanda
Come creare un java.awt.Image dai dati delle immagini? I dati di immagine non sono dati pixel RGB puri ma codificati in formato jpeg / png.
JavaME ha una semplice API Image.createImage (...) per farlo.
public static Image createImage(byte[] imageData,
int imageOffset,
int imageLength)
imageData: l'array di dati immagine in un formato immagine supportato.
C'è qualcosa di simile disponibile in JavaSE?
Soluzione
import java.awt.*;
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.createImage(imageData,imageOffset,imageLength);
Altri suggerimenti
Usa javax.imageio.ImageIO
BufferedImage image = ImageIO.read(new ByteArrayInputStream(myRawData));
Non utilizzare le funzioni precedenti che restituiscono un'implementazione di Image diversa da BufferedImage. L'interfaccia Image è in realtà solo un handle che potrebbe essere caricato da un thread in background e darti tutti i tipi di mal di testa.
Dai un'occhiata a java.awt.image.MemoryImageSource.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow