2

我对 Qt 相当陌生,并且一直在做很多阅读和练习练习。我已经搜索了很多,但找不到任何示例。

我有一个加载 .png 图像的 QPixmap 对象。我需要创建一个应用了深色蒙版的 QPixmap 副本。

基本上我希望这个 QPixmap 的图像被一层纯黑色覆盖,其中不透明度设置为 50%。

我知道如何设置 QPixmap 图像的不透明度,但是如何在其上添加一层不透明度的纯黑色?

谢谢!

4

1 回答 1

6

您可以使用 aQPainter和您的半透明QBrush将暗层绘制到您的QPixmap.

假设加载了您的图像picQPixmap

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);

效果(之前/之后):

在此处输入图像描述    对比    在此处输入图像描述

不透明的黑色边框可以通过在绘画前设置半透明笔来去除。
如果要保留原始图像,请在应用“蒙版”之前复制像素图。

于 2012-12-29T17:25:32.877 回答