想要做這麼一件事情,把一個xml文件和一張 jpg圖片合併到一個文件中,自定義文件的後綴。
大概是這麼做的:
1、從文件中讀取到QByteArray
不貼代碼了,自行百度有很多。
2、把兩段QByteArray相加。
3、把QByteArray寫入到文件
//ByteDate 爲字節流
QFile File(QString::fromLocal8Bit(ImgFileName.data()));
File.open(QIODevice::WriteOnly);
File.write(ByteDate);
File.close();
遇到的問題:
把.jpg文件讀取到QByteArray,再保存到.jpg文件時,文件貌似出了點兒問題,反正調用opencv的 imread讀取的圖像效果不對頭。源圖是單通道的,轉成QByteArray後再保存成.jpg文件,opencv讀取後變成了三通道,有時候會出現某些像素點全黑的情況。
最後發現問題所在:
即,讀取xml文件文件時,File.open(QIODevice::WriteOnly | QIODevice::Text);
讀取圖像文件時,File.open(QIODevice::WriteOnly);//一定不能夠加上QIODevice::Text
參考鏈接
https://blog.csdn.net/qq_24127015/article/details/84024465