Определение ColorModel изображения с помощью If Statements?

Я пытаюсь определить, находится ли изображение в определенном формате, чтобы определить, какую обработку выполнить для изображения.

Я сделал BufferedImageObject.getColorModel() в операторе println, чтобы увидеть, что он возвращает, и его слишком много информации, чтобы указать, является ли изображение RGB, HSI, Bitonal, Grayscale и т. Д.

Кто-нибудь может направить меня к методу, который я мог бы использовать, чтобы просто

if (object.colorModelMethod == RGB) { //Do stuff }

или что-то подобное?

1 ответ

Решение

Я думаю, что на самом деле вам нужен объект ColorSpace, вы можете добраться до него с помощью API BufferedImage и ColorModel:

import java.awt.image.*;

BufferedImage im = new BufferedImage(//....);

if(im.getColorModel().getColorSpace() == ColorSpace.TYPE_RGB)
    //do stuff...

Надеюсь это поможет.

Другие вопросы по тегам