qt 四個圖像類QImage、QPixmap、QBitmap和QPicture

QPixmap:是針對屏幕進行特殊優化的,因此,它與實際的底層顯示設備息息相關。注意,這裏說的顯示設備並不是硬件,而是操作系統提供的原生的繪圖引擎

QBitmap:繼承自QPixmap,因此具有QPixmap的所有特性,提供單色圖像。由於QBitmap色深小,因此只佔用很少的存儲空間,所以適合做光標文件和筆刷。

QImage:使用獨立於硬件的繪製系統,實際上是自己繪製自己,因此提供了像素級別的操作,並且能夠在不同系統之上提供一個一致的顯示形式QPixmap使用底層平臺的繪製系統進行繪製,無法提供像素級別的操作。和QPixmap 不同,QImage是獨立於硬件的,它可以同時被另一個線程訪問。QImage是存儲在客戶端的,對QImage的使用是非常方便和安全的。 又由於 QImage 也是一種QPaintDevice,因此我們可以在另一個線程中對其進行繪製,而不需要在GUI 線程中處理,使用這一方式可以很大幅度提高UI響應速度。 因此當圖片較大時,我們可以先通過QImage將圖片加載進來,然後把圖片縮放成需要的尺寸,最後轉換成QPixmap 進行顯示。 下圖是顯示效果(圖片是按照earth.png的原始尺寸比例縮放後顯示的)。

QPicture:是一個可以記錄和重現QPainter命令的繪圖設備。 QPicture將QPainter的命令序列化到一個IO設備,保存爲一個平臺獨立的文件格式。QPicture文件沒有內容上的限制,只要是能夠被QPainter繪製的元素,不論是字體還是pixmap,或者是變換,都可以保存進一個picture中QPicture是平臺無關的因此它可以使用在多種設備之上,比如svg、pdf、ps、打印機或者屏幕。

以上整理自網絡,版權歸原來的作者所有,如果有侵權請聯繫刪除,轉載請註明版權詢問原作者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章