Я разработал небольшой графический интерфейс в C++/Qt, я хотел бы узнать, как быстро проверить, загружен ли снимок. На практике, когда я загружаю изображение в градациях серого в формате gif, я хочу, чтобы оно было распознано как изображение в оттенках серого с глубиной() = 8, и когда я загружаю цветное изображение gif, глубина QImage будет равна 32.Qt - Убедитесь, что изображение загружено в оттенки серого
Вот мой открытый метод:
void ImageViewer::open()
{
int status_off = 0;
fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath());
if (!fileName.isEmpty()) {
current_qimage = QImage(fileName);
if (current_qimage.isNull()) {
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
return;
}
updateStatus(status_off);
// Image is colored with depth=8
if (current_qimage.depth()/8 != 4)
{rgblum_status = 0;}
else // Image is grayscale with depth=32
{rgblum_status = 1;}
loadImage();
}
}
с первого теста, мне кажется, что current_qimage, в current_qimage = QImage(fileName);
наследует во-первых, от формата GIF (здесь) до содержания изображения. Поэтому QImage имеет в двух случаях глубину(), равную 32.
Как сделать разницу между этими двумя изображениями gif (один оттенок серого и другой цветной)?