我无法让 Qt5 保存灰度Format_Indexed8
图像。当我保存文件时,我得到一个没有相关功能的多色混乱。我期待一个灰度 BMP。
单色图像存储为sizeof(uchar)*widthGL*heightGL
.
glTexSubImage2D(GL_TEXTURE_2D,0,0,0,widthGL,heightGL,
GL_LUMINANCE,GL_UNSIGNED_BYTE,noise);
//computation
QImage mySurface(noise,widthGL,heightGL,QImage::Format_Indexed8);
mySurface.save("test.bmp","BMP");
我目前的工作涉及使用第二个数组并且感觉很脏
static unsigned char* mbuffer = new unsigned char[3*widthGL*heightGL];
for (int i = 0,bpos=0;i<widthGL*heightGL;i++)
{
mbuffer[bpos++]=noise[i];
mbuffer[bpos++]=noise[i];
mbuffer[bpos++]=noise[i];
}
QImage mySurface(mbuffer,widthGL,heightGL,QImage::Format_RGB888);
我想知道是否有任何方法可以让 Qt5 输出类似于灰度图像的东西。
编辑
在最新版本的 Qt 中,这个问题很有可能得到解决。