您能帮我看一下,这样写对吗?谢谢,但是我这样写了后输出的图片有问题。
#include <QtGui>
int main (int argc,char *argv[])
{
    QApplication app(argc,argv);
    QImage colourImg("test.png");
    QSize colourImgSize = colourImg.size();
    int width = colourImgSize.rwidth();
    int height = colourImgSize.rheight();
    unsigned char *colourImgDataPtr = colourImg.bits();
    QImage grayImg(colourImgSize, QImage::Format_Indexed8);
    unsigned char *grayImgDataPtr = grayImg.bits();
    for(int i = 0; i < height; i++)
    {
     for(int j = 0; j < width; j++)
     {
      *grayImgDataPtr = *(colourImgDataPtr + 1);
      colourImgDataPtr += 4;
      grayImgDataPtr++;
     }
    }
    QVector<QRgb> grayColourTable;
    QRgb colourtable[255];
    for(int i = 0; i < 256; i++)
    {
       colourtable=qRgb(i,i,i);
       grayColourTable.append(colourtable);
    }
    grayImg.setColorTable(grayColourTable);
    grayImg.save("grayImage.bmp", "bmp");
    app.exec();
}