是,
您可以使用imageReader.getRawImageType(imageNo)
。這種方法大部分時間都適用。不幸的是,它在某些情況下會返回null
,最主要的是用於編碼爲YCbCr(而不是RGB)的JPEG圖像,這可能是JPEG最常見的情況...
獲得相同信息的另一種方法是使用圖像元數據對象,並期待在標準元數據格式,得到這樣的信息:
IIOMetadata metadata = imageReader.getImageMetadata(imageNo);
if (metadata.isStandardFormatSupported()) { // true for all bundled formats
IIOMetadataNode root = (IIOMetadataNode) imageMetadata.getAsTree("javax_imageio_1.0");
// Get either (as pseudo-xpath):
// /Chroma/NumChannels[@value], which is just number of channels, 3 for RGB
// /Data/BitsPerSample[@value], bits per sample, typically 8,8,8 for 24 bit RGB
}
你可以看看standard format documentation和IIOMetadataNode
API doc以獲取更多信息。