求助:我想用QT3做一个能显示自己的RAW图像文件的程序,现在用QImage如何能显示呢?!
求高手指点,我的RAW文件格式是RGBRGBRGB。。。。。RGB每三个char为一个象素的RGB值
我用如下方法只能显示一个黑图,.........为什么?
//读文件
data=new unsigned char[800*600*3];
FILE *ip;
ip=fopen("c:\\pic.raw","rb");
fread(data,sizeof(data),1,ip);
fclose(ip);
logoimage=new QImage();
logoimage->create( 800, 600,32,0,QImage::LittleEndian );//QImage::IgnoreEndian ) ;
int r, g, b,i=0;
QRgb *point;
for(int y = 0; y < 600; y ++)
{
for ( int x = 0; x < 800; x ++ )
{
r = (unsigned short)data [i+0]];
g = (unsigned short)data[i+1];
b = (unsigned short)data[i+2];
point = (QRgb *)logoimage->scanLine(y) + x;
*point = qRgb(r, g, b);
i += 3;
}
}
//显示
void Main::paintEvent(QPaintEvent*)
{
bitBlt( vb, 0, 0,logoimage, 0, 0, -1, -1 );
}
[ 此贴被shally5在2008-12-16 13:54重新编辑 ]