天天看点

QT将xxx.bin文件转化为图片转化方法

QT将xxx.bin文件转化为图片

  • 转化方法
    • 具体实现

转化方法

1、先将xxx.bin文件的路径转化成QString;

2、用将QString赋值给QFile,然后打开QFile文件;

3、将文件读取到QByteArray中;

4、将QByteArray赋值给QImage;

5、使用QString指定一个存储QImage的路径;

6、将QImage保存在QSting指定的路径。

声明:转化bin文件时需要事先知道width、height,否则程序会崩溃

具体实现

void load_PNG(unsigned char *outbuffer,int width, int height);

void readImage()

{

//指定test.bin路径

QString fileName = “C:/Users/Administrator/Desktop/savePicture/test.bin”;

if (fileName.isEmpty())//如果未选择文件便确认,即返回

return;

QFile file(fileName);

//打开QFile文件
if(!file.open(QIODevice::ReadOnly))
    qDebug()<<"open failed";
    
//将文件读取到QByteArray 
QByteArray arry=file.readAll();//读取文件
 qDebug()<<"打开文件:"<<fileName;
file.close();
//int length=arry.size();//计算长度
           

// qDebug()<<length;

//将QByteArray 转化成unsigned char *

load_PNG((unsigned char *)arry.data(),320,160);

}

void load_PNG(unsigned char *outbuffer,int width, int height)

{

//将数据流转化成QImage

QImage image(&outbuffer[4], width, height,QImage::Format_RGB888);//Format_ARGB32);

//设置存储图片的位置路径
QString picName = (QString("C:/Users/Administrator/Desktop/") + "test" + QString(".png")).toLatin1().data();

//save picture in /tmp
image.save(picName);
           

}

int main()

{

readImage();

return 0;

}

继续阅读