Как создать java.awt.Image из данных изображения?

StackOverflow https://stackoverflow.com/questions/404877

  •  03-07-2019
  •  | 
  •  

Вопрос

Как создать 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top