2012-12-29 81 views
2

我對Qt相當陌生,並且一直在進行大量的閱讀和練習練習。 我已經搜索了很多,但我找不到任何例子。如何在QPixmap上應用黑色遮罩層?

我有一個QPixmap對象,我加載了一個.png圖像。 我需要創建一個應用了黑色遮罩的QPixmap的副本。

基本上我希望這個QPixmap的圖像覆蓋一層黑色,其中不透明度設置爲50%。

我知道如何設置QPixmap圖像的不透明度,但是如何添加一層帶有不透明度的純黑色圖層?

謝謝!

回答

5

您可以使用一個QPainter和您半透明的QBrush將該黑色圖層塗在您的QPixmap上。

假設pic是裝載有圖像一個QPixmap

QPainter p(&pic); 
QBrush b(QColor(0,0,0,128)); // adjust color and alpha to taste 
p.setBrush(b); 
p.drawRect(0, 0, 200, 200); 

效應(前/後):

  enter image description here     VS       enter image description here

不透明的黑色邊框可以通過在塗漆前設置半透明筆來消除。
如果要保留原稿,請在應用「蒙版」之前複製像素圖。

+0

謝謝馬特,這很棒。 – Phil