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?

È stato utile?

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
scroll top