void argb_to_rgba( )
{
QImage image=QImage(QFileDialog::getOpenFileName());
image=image.rgbSwapped();
QFile file("yvhvv.vv");
if(!file.open(QIODevice::WriteOnly)){
QMessageBox::critical(this,windowTitle(),tr("文件创建失败!"));
return;}
QDataStream out(&file);
out.setByteOrder(QDataStream::LittleEndian);
GLenum vvType=GL_UNSIGNED_BYTE;
GLenum vvFormat=GL_RGBA;
GLsizei image_height=image.height();
GLsizei image_width=image.width();
GLuint magic=0x76760000;
out<<magic<<image_width<<image_height<<vvFormat<<vvType;
QVector<QRgb> PixelPond;
for(int i=image_height-1; i>-1; --i)
{
for(int j=0; j<image_width; ++j)
{
QRgb temp=image.pixel(j,i);
PixelPond.push_back(temp);
}
}
out<<PixelPond;
/*
QVector<uchar> PixelPond;
for(int i=image_height; i>0; --i)
{
uchar *p=image.scanLine(i);
uchar *pp=p;
for(int j=0; j<image_width; ++j)
{
PixelPond.push_back(*pp);
PixelPond.push_back(*(pp+1));
PixelPond.push_back(*(pp+2));
PixelPond.push_back(*(pp+3));
pp+=4;
}
}
out<<PixelPond;
*/
}