【问题标题】:What is the default type of a BufferedImage?BufferedImage 的默认类型是什么?
【发布时间】:2014-07-28 12:50:25
【问题描述】:

众所周知,BufferedImage 有一些类型,例如 BufferedImage.TYPE_3BYTE_BGR 、 BufferedImage.TYPE_INT_ARGB 、 BufferedImage.TYPE_USHORT_565_RGB 等。

如果我只使用

BufferedImage image = ImageIO.read(new pngFile(filePath));

图片的类型是什么,和PNG等文件的格式有关系吗?

【问题讨论】:

    标签: java image swing awt


    【解决方案1】:

    您可以使用来自BufferedImage 对象的getType() 方法:

    BufferedImage image = ImageIO.read(new pngFile(filePath));
    System.out.println(image.getType());
    

    根据Java Docs

    返回图像类型。如果它不是已知类型之一,则返回 TYPE_CUSTOM。

    编辑:

    关于最后一个问题,你可以阅读这个well-elaborated answer。简而言之:

    不,BufferedImage 类型和文件格式之间没有直接关系。

    【讨论】:

    • OP 正在寻找图片格式,例如 png、gif、jpg 等或想了解文件的格式。
    • @Braj 仔细阅读。他想知道图像的类型(他提到的类型之一)。他还想知道这种类型是否与图像的格式有关。
    • @Braj 我不同意。 OP 似乎错误地认为文件类型 relates 与图像类型。虽然 JPEG 等某些文件类型永远不会是支持透明度的图像类型(例如 TYPE_INT_ARGB),但该领域的其余部分非常开放,AFAIU。
    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 2014-09-30
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多