Como criar um java.awt.Image a partir de dados de imagem?
Pergunta
Como criar um java.awt.Image de dados de imagem? Os dados de imagem não são dados pura de pixel RGB, mas codificado em jpeg / png formato.
JavaME tem uma Image.createImage simples api (...) para fazer isso.
public static Image createImage(byte[] imageData,
int imageOffset,
int imageLength)
imageData -. A matriz de dados de imagem em um formato de imagem suportado
Existe alguma coisa semelhante a esta disponível em JavaSE?
Solução
import java.awt.*;
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.createImage(imageData,imageOffset,imageLength);
Outras dicas
Use javax.imageio.ImageIO
BufferedImage image = ImageIO.read(new ByteArrayInputStream(myRawData));
NÃO usar as funções mais velhas que retornam uma implementação de imagem que não seja BufferedImage. A interface de imagem é na verdade apenas um identificador que pode ser carregado por uma discussão de fundo e dar-lhe todos os tipos de dores de cabeça.
Tenha um olhar em java.awt.image.MemoryImageSource.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow