【问题标题】:How to create a java.awt.Image from image data?如何从图像数据创建 java.awt.Image?
【发布时间】:2010-09-29 03:01:21
【问题描述】:

如何从图像数据创建 java.awt.Image?图片数据不是纯RGB像素数据,而是jpeg/png格式编码的。

JavaME 有一个简单的 api Image.createImage(...) 用于执行此操作。

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

imageData - 支持的图像格式的图像数据数组。

在 JavaSE 中是否有类似的东西可用?

【问题讨论】:

    标签: java image awt


    【解决方案1】:
    import java.awt.*;
    
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    
    Image image = toolkit.createImage(imageData,imageOffset,imageLength);
    

    【讨论】:

      【解决方案2】:

      使用 javax.imageio.ImageIO

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

      不要使用返回 BufferedImage 以外的 Image 实现的旧函数。 Image 接口实际上只是一个句柄,可能会被后台线程加载,让你很头疼。

      【讨论】:

      • 是的,我会相信 ImageIO 而不是 Toolkit 的东西,因为图像格式和所有奇怪的东西。
      【解决方案3】:

      看看 java.awt.image.MemoryImageSource。

      【讨论】:

        猜你喜欢
        • 2013-09-23
        • 1970-01-01
        • 2012-11-03
        • 1970-01-01
        • 2018-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        相关资源
        最近更新 更多