Qt圖像類QImage、QPixmap、QBitmap、QPicture

QPixmap是專門為繪圖而生,當需要繪制圖片時你需要使用QPixmap。QImage則是為I/O,為圖片像素訪問以及修改而設計的。如果你 想訪問圖片的像素或是修改圖片像素,則需要使用QImage,或者借助于QPainter來操作像素。另外跟QImage不同是,QPixmap跟硬件是 相關的,如X11, Mac 以及 Symbian平臺上,QPixmap 是存儲在服務器端,而QImage則是存儲在客戶端,在Windows平臺上,QPixmap和QImage都是存儲在客戶端,并不使用任何的GDI資 源。

相信大家更關心的是誰比較快,哈哈,現(xiàn)在來總結一下:
在X11, Mac 以及 Symbian平臺上,QImage: 因為它是存儲在客戶端,往QImage上繪圖比較快,但顯示它則比較慢。QPixmap: 因為它是存儲在服務器端,往QPixmap上繪圖比較慢,但顯示它則比較快。但在Windows平臺上則是是一樣的,因為它們都存儲在客戶端。

Qt上圖片處理使用QPixmap和QImage時最多了,不過既然談到圖片了,我們把其他幾個圖片處理類也說一下:
QBitmap只是一個繼承于QPixmap的簡單類,它可以確保圖片深度為1。
QBitmap是QPixmap的子類,提供單色圖像,可以用來制作游標(QCursor)或者筆刷(QBrush)。

QPicture是一個繪畫設備類,它記錄了并可以重演QPainter的命令。你可以使用QPainter的begin()方法,指定在 QPicture上繪圖,使用end()方法結束繪圖,使用QPicture的save()方法將QPainter所使用過的繪圖指令存至檔案。要重播繪 圖指令的話,建立一個QPicture,使用load()方法載入繪圖指令的檔案,然后在指定的繪圖裝置上繪制QPicture:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容