QT的QImage類的使用
詳細說明
QImage類提供了獨立於硬體的影像表示形式,該影像表示形式可以直接訪問畫素資料,並且可以用作繪製裝置。
Qt提供了四個用於處理影像資料的類:QImage,QPixmap,QBitmap和QPicture。 QImage是為I / O設計的,並針對直接畫素訪問和操縱進行了優化,而QPixmap是為在螢幕上顯示影像而設計和優化的。 QBitmap只是繼承QPixmap並確保深度為1的便捷類。最後,QPicture類是一種繪畫裝置,可以記錄和重放QPainter命令。
由於QImage是QPaintDevice子類,因此可以使用QPainter直接在影像上繪製。在QImage上使用QPainter時,可以在當前GUI執行緒之外的其他執行緒中執行繪製。
QImage類支援Format列舉描述的幾種影像格式。這些包括單色,8位,32位和alpha混合影像,這些影像在所有Qt 4.x版本中都可用。
QImage提供了一組函式,這些函式可用於獲取有關影像的各種資訊。還有一些功能可以實現影像轉換。
由於QImage類使用隱式資料共享,因此可以按值傳遞QImage物件。 QImage物件也可以流式傳輸和比較。
注意:如果要在Qt的靜態版本中載入QImage物件,請參閱Plugin HowTo。
警告:不支援在格式為QImage :: Format_Indexed8的QImage上繪畫。
讀取和寫入影像檔案
QImage提供了幾種載入影像檔案的方式:可以在構造QImage物件時載入該檔案,也可以稍後使用load()或loadFromData()函式來載入該檔案。 QImage還提供靜態fromData()函式,從給定資料構造一個QImage。載入影像時,檔名可以引用磁碟上的實際檔案,也可以引用應用程式的嵌入式資源之一。
畫素操縱
用於操縱影像畫素的功能取決於影像格式。 原因是單色和8點陣圖像基於索引並使用顏色查詢表,而32點陣圖像直接儲存ARGB值。 有關影像格式的更多資訊,請參見“影像格式”部分。
對於32點陣圖像,可以使用setPixel()函式將給定座標處的畫素顏色更改為指定為ARGB四聯體的任何其他顏色。 要生成合適的QRgb值,請使用qRgb()(向給定的RGB值新增預設的alpha分量,即建立不透明的顏色)或qRgba()函式。 例如:
對於8位和單色影像,畫素值只是影像顏色表中的索引。 因此,setPixel()函式只能用於將給定座標處的畫素顏色更改為影像顏色表中的預定義顏色,即只能更改畫素的索引值。 若要更改顏色或將顏色新增到影像的色表,請使用setColor()函式。
顏色表中的一項是編碼為QRgb值的ARGB四聯體。 使用qRgb()和qRgba()函式製作一個適合與setColor()函式一起使用的QRgb值。 例如:
相關文章
- QT的QAxBase類的使用QT
- QT的QWGLNativeContext類的使用QTContext
- QT的QProgressDialog類的使用QT
- QImage:使用QImage建構函式載入影像和使用成員函式loadFromData載入影像的區別函式
- qt -- QString類及常用函式功能的使用QT函式
- QImage 與 Mat 互轉
- C++ Qt開發:使用順序容器類C++QT
- C++ Qt開發:使用關聯容器類C++QT
- QT視窗類QT
- Qt事件過濾器的使用QT事件過濾器
- QT - 13.1.1 ListView 的簡單使用QTView
- QT執行緒的使用 moveToThread()QT執行緒thread
- Qt容器類QList、QLinkedList和QVector類QT
- Qt qAbs、qMax、qRound和qSwap的使用QT
- QT5.9關於QMenuBar的使用QT
- Qt中的佈局淺析與彈簧的使用,以及Qt居中的兩種方法QT
- NavigableMap類的使用
- python類的使用Python
- File類的使用
- Random 類的使用random
- String類的使用
- Qt三大視窗基類的差別QMainWindow QWidget QDialogQTAI
- Qt 字型(04):QFont類【官翻】QT
- Qt-pyqt6與QTDesginers的相互使用技巧QT
- autohotkey qt程式中無法使用的問題QT
- 包裝類的使用
- String類的使用2
- Qt 報錯 “類名”does not name a typeQT
- QT使用 http 協議通訊的實現示例QTHTTP協議
- 已經編譯好的opencv QT creator直接使用編譯OpenCVQT
- python中calss(類)的使用,類的教程,類中的函式怎麼呼叫。Python函式
- URLConnection類,HttpURLConnection類的使用和總結HTTP
- cv::Mat轉QImage導致影像色彩異常
- 【QT】 Qt多執行緒的“那些事”QT執行緒
- 匿名內部類的使用
- TypeScript介面與類的使用TypeScript
- Java中的Reference類使用Java
- io流-file類的使用