日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QImage与QPixmap区别

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QImage与QPixmap区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原因:
關于這個話題,我其實本人剛開始在windows下進行Qt開發時,并沒有太在意?當突然被問到具體區別時,我突然就懵了。特意整理??

參考網址:
https://www.cnblogs.com/s_agapo/archive/2012/03/14/2395603.html
https://blog.csdn.net/ailinty/article/details/8964431
https://blog.csdn.net/qq_18941425/article/details/79917185
區別:
具體四個區別請參考如上網址。

一、不同平臺,依賴、存儲不同

QPixmap依賴于硬件,QImage不依賴于硬件。
在X11, Mac 以及 Symbian平臺上。
QImage: 因為它是存儲在客戶端,往QImage上繪圖比較快,但顯示它則比較慢。QPixmap: 具體實現是依賴于系統的,它是存儲在服務器端,往QPixmap上繪圖比較慢,但顯示它則比較快。但在Windows平臺上則是是一樣的,因為它們都存儲在客戶端,并不使用任何的GDI資源,可能看起來并沒有多大區別。

目前的Qt會把QPixmap都存儲在graphics memory中,這明顯是依賴硬件的。因此我們對QPixmap的使用需要格外注意。
那么Qt為什么要這么做呢?很簡單,設計之初QPixmap就是用來加速顯示的,例如我們在paint的時候用QPixmap就會比用其他類的效果好許多。

二、用處分工不同

QPixmap主要是用于繪圖,針對屏幕顯示而最佳化設計,QImage主要是為圖像I/O、圖片訪問和像素修改而設計的。
當圖片小的情況下,直接用QPixmap進行加載,畫圖時無所謂,當圖片大的時候如果直接用QPixmap進行加載,會占很大的內存,一般一張幾十K的圖片,用QPixmap加載進來會放大很多倍,所以一般圖片大的情況下,用QImage進行加載,然后轉乘QPixmap用戶繪制。QPixmap繪制效果是最好的。

總結:

對于顯示小圖片時,可以用QPixmap進行加載,繪畫圖片。當繪畫大圖片時候,此時最好實現QImage進行加載,因為QImage本身主要是為圖像I/O、圖片訪問和像素修改而設計的,它可以實現對圖片旋轉、縮放等。然后通過QPixmap實現繪圖。

總結

以上是生活随笔為你收集整理的QImage与QPixmap区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。