cdlaweed
16th March 2011, 17:53
Hi,
I have a QImage generated from a char* data array. When trying to save it to the bmp the file is correctly created but is not readeable by the window wiewer (paint open it but the data is crappy).
I guess that my QImage is not correctly initialised, but I don't find Where :(
Here is a part of my code:
// allocate the memory for the input picture
unsigned char* Orig_Image = NULL;
QImage Image;
Orig_Image = new unsigned char[Nb_Lines * Nb_Pixels];
memset(Orig_Image, 0, Nb_Lines * Nb_Pixels);
// create a B/W color table for the image
QVector<QRgb> colorTable;
for (int i = 0; i < 256; i++)
colorTable.push_back(QColor(i, i, i).rgb());
.... edit the data array here
Image = QImage(Orig_Image,Nb_Pixels,Nb_Lines,Nb_Pixels,QIm age::Format_Indexed8);
Image.setColorTable(colorTable);
if(!Image.isNull()) Image.save(QFileDialog::getSaveFileName(this, "Load a picture or file", QString(), "BMP"));
delete(Orig_Image);
Any clues are appreciated! :)
I have a QImage generated from a char* data array. When trying to save it to the bmp the file is correctly created but is not readeable by the window wiewer (paint open it but the data is crappy).
I guess that my QImage is not correctly initialised, but I don't find Where :(
Here is a part of my code:
// allocate the memory for the input picture
unsigned char* Orig_Image = NULL;
QImage Image;
Orig_Image = new unsigned char[Nb_Lines * Nb_Pixels];
memset(Orig_Image, 0, Nb_Lines * Nb_Pixels);
// create a B/W color table for the image
QVector<QRgb> colorTable;
for (int i = 0; i < 256; i++)
colorTable.push_back(QColor(i, i, i).rgb());
.... edit the data array here
Image = QImage(Orig_Image,Nb_Pixels,Nb_Lines,Nb_Pixels,QIm age::Format_Indexed8);
Image.setColorTable(colorTable);
if(!Image.isNull()) Image.save(QFileDialog::getSaveFileName(this, "Load a picture or file", QString(), "BMP"));
delete(Orig_Image);
Any clues are appreciated! :)