Comment créer un fichier java.awt.Image à partir de données image?
Question
Comment créer une image java.awt.Image à partir de données image? Les données d'image ne sont pas des données de pixels RVB pures, mais codées au format JPEG / PNG.
JavaME a une simple api Image.createImage (...) pour le faire.
public static Image createImage(byte[] imageData,
int imageOffset,
int imageLength)
imageData - le tableau de données d'image dans un format d'image pris en charge.
Existe-t-il une fonctionnalité similaire à celle disponible dans JavaSE?
La solution
import java.awt.*;
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.createImage(imageData,imageOffset,imageLength);
Autres conseils
Utilisez javax.imageio.ImageIO
BufferedImage image = ImageIO.read(new ByteArrayInputStream(myRawData));
Ne pas utiliser les anciennes fonctions qui renvoient une implémentation d'Image autre que BufferedImage. L’interface Image n’est en fait qu’une poignée pouvant être chargée par un fil d’arrière-plan et vous causant toutes sortes de maux de tête.
Découvrez java.awt.image.MemoryImageSource.