我想在 QImage 中加载图像时使用最小 RAM在 Qt 中,如果我们在图像标题中没有关于图像的 Dpi 或类型(RGB16 或 RGBA32 或...)的任何信息。
自动检测图像类型的任何想法或代码或方法,如(QImage::Format_RGB32或QImage::Format_RGB16或...)对于QImage ?
最佳答案
QImage正在继承QPaintDevice .它不是图像的二进制格式,也不是包含或类似的任何东西。把它想象成一 block 内存,上面有一些方法和成员属性,可以解释那 block 内存的内容,或者你可以如何在那 block 内存上绘制像素。例如,方法 QImage::load将使用 QImageReader加载 JPG、PNG、BMP 等图像文件的实例,并初始化 QImage 所需的一切。保存该数据。 QImageReader可以自动检测图像格式。 然后您将能够转换此 QImage使用 QImage::convertToFormat 的实例方法。
QImage img;
img.load("/some/path/to/sample.png");
QImage converted = img.convertToFormat(QImage::Format_RGB16);
关于c++ - 如何检测 QImage 消耗最少 RAM 的足够格式(数据类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58787149/