简体   繁体   English

如何从图像数据创建java.awt.Image?

[英]How to create a java.awt.Image from image data?

How to create a java.awt.Image from image data? 如何从图像数据创建java.awt.Image? Image data is not pure RGB pixel data but encoded in jpeg/png format. 图像数据不是纯RGB像素数据,而是以jpeg / png格式编码。

JavaME has a simple api Image.createImage(...) for doing this. JavaME有一个简单的api Image.createImage(...)用于执行此操作。

public static Image createImage(byte[] imageData,
                                int imageOffset,
                                int imageLength)

imageData - the array of image data in a supported image format. imageData-支持的图像格式的图像数据的数组。

Is there anything similar to this available in JavaSE? JavaSE中有与此类似的东西吗?

import java.awt.*;

Toolkit toolkit = Toolkit.getDefaultToolkit();

Image image = toolkit.createImage(imageData,imageOffset,imageLength);

Use javax.imageio.ImageIO 使用javax.imageio.ImageIO

BufferedImage image = ImageIO.read(new ByteArrayInputStream(myRawData));

Do not use the older functions which return an implementation of Image other than BufferedImage. 不要使用较旧的函数返回BufferedImage以外的Image的实现。 The Image interface is in fact only a handle that might be loaded by a background thread and give you all kinds of headaches. 实际上,Image接口只是一个可能由后台线程加载的句柄,它使您头痛不已。

看看java.awt.image.MemoryImageSource。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM