Qt QImage從內存中讀取16位圖片


項目中遇到一個問題,直接調用QImage的loadFromData函數無法加載16位的圖片,最終沒有找到如果使用loadFromData加載16位圖片的方式,倒是可以用構造函數從內存中加載16bit的圖片,代碼如下:

1 QImage image("test.tif"); 2  
3 image.save("D:/test/image.tif", "TIF");     //! [主要測試test.tif圖片有沒有加載成功,D 盤test目錄下生成了image.tif圖片,從本地加載成功]
4  
5 const uchar* imagedatas = image.bits();     //! [獲取圖片在內存中的地址]
6  
7  
8 QImage image2(imagedatas, image.width(), image.height(), image.width() * sizeof (quint16), QImage::Format_Grayscale16); //! [測試圖片是一張灰度圖片,所有這里使用的是Format_Grayscale16,主要是第四個參數]
9 image2.save("D:/test/image2.tif");  //! [保存成功]

 


免責聲明!

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



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