Given the following functions, I should be able to create a non-all black image (assuming input is good)? The only success I have is using Indexed8
QHash<QRgb, qint32 (*)(QRgb)> colorFuncs { { Qt::red, qRed}, { Qt::green, qGreen}, { Qt::blue, qBlue}, { Qt::gray, qGray}, }; QImage color8(const QImage &image, int channel) { // Channel is one of Qt::red Qt::green Qt::blue or Qt::gray QImage out(image.width(), image.height(), QImage::Format_Indexed8); // Change to Format_Grayscale8, and get nothing // for indexed8 QVector<QRgb> values; values.reserve(256); if (channel==Qt::gray) { for (int c=0; c<256; c++) values.append(qRgb(c,c,c)); } if (channel==Qt::red) { for (int c=0; c<256; c++) values.append(qRgb(c,0,0)); } if (channel==Qt::green){ for (int c=0; c<256; c++) values.append(qRgb(0,c,0)); } if (channel==Qt::blue) { for (int c=0; c<256; c++) values.append(qRgb(0,0,c)); } out.setColorTable(values); // end for indexed8 int (*colorFunc)(QRgb rgb) = colorFuncs[channel]; for (int y=0; y < image.height(); y++) { for (int x=0; x < image.width(); x++) { out.setPixel(x,y, colorFunc(image.pixel(x,y))); } } return out; } I'm not familar with Qt and Grayscale8... Anyone know what is going wrong? _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest