QT之圖片轉換為QByteArray,以及在轉回圖片


今天有一個需求就是需要將圖片轉換為QString,然后在轉回圖片流程就是

圖片->QByteArray->QString->QByteArray->圖片
轉圖片時需要base 64加密,否則灰丟失數據
具體做法如下:
QString str = "./Image/1.png";//已經有的圖片(本地)
 
        

  QString str1 = "./Image/2.png";//轉換后圖片路徑

 
        

 

 
        

圖片->QByteArray

 
        
QPixmap pixmap(str);
 
        
QByteArray byteArray = QByteArray();

QBuffer buffer(&byteArray);
 
        
buffer.open(QIODevice::WriteOnly);
 
        
pixmap.save(&buffer,"png",0);
 
         
         
        

  QByteArray->QString

QString str2 = QString(byteArray.toBase64());
QString->QByteArray
 
        

  QByteArray byteArray = QByteArray::fromBase64(str2.toLocal8Bit();

 
        
QByteArray->圖片
 
        

  QPixmap pix; 

 
        

  if(!pix.loadFromData(byteArray),"png")

  {

   qDebug() << __FILE__ << __LINE__ <<"轉化失敗!";
}
if (!pix.save(str1))
 {
 qDebug() << __FILE__ << __LINE__ <<"保存失敗";
 }
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM