如何将QImage中的像素数据转换为另一种格式?

Len*_*and 1 c++ format qt qimage qt5

我收到一个QImage带有any 的实例QImage::Format。如何创建QImage具有特定QImage::Format选择的的另一个实例,以便将实际图像数据从任意格式转换为我的格式?

例:

QImage convertFormat(const QImage &inputImage, QImage::format outputFormat)
{
    // What comes here?
}

//Usage
QImage converted = convertFormat(mySourceImage, QImage::Format_Grayscale8);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种在可能的情况下使用Qt中现有代码执行此操作的方法(这与编写自己的低级像素格式转换例程相反)。

art*_*nie 5

为什么不使用convertToFormat呢?尽管它是其中的一员,但它的语法几乎与您要求的语法相同,QImage因此您只能传递格式。