Как создать java.awt.Image из данных изображения?
Вопрос
Как создать java.awt.Image из данных изображения?Данные изображения - это не чистые пиксельные данные RGB, а закодированные в формате jpeg / png.
В JavaME есть простой api Image.createImage(...) для этого.
public static Image createImage(byte[] imageData,
int imageOffset,
int imageLength)
ImageData - массив данных изображения в поддерживаемом формате изображения.
Есть ли что-нибудь подобное в JavaSE?
Решение
import java.awt.*;
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.createImage(imageData,imageOffset,imageLength);
Другие советы
Используйте javax.imageio.ImageIO
BufferedImage image = ImageIO.read(new ByteArrayInputStream(myRawData));
Не делайте этого используйте более старые функции, которые возвращают реализацию Image, отличную от BufferedImage.Интерфейс изображения на самом деле является всего лишь дескриптором, который может быть загружен фоновым потоком и доставлять вам всевозможные головные боли.
Взгляните на java.awt.image.MemoryImageSource.
Не связан с StackOverflow