我是 Qt 的新手,一直在做大量的阅读和练习。 我已经搜索了很多,但找不到任何示例。
我有一个 QPixmap 对象,我向其加载了一个 .png 图像。 我需要创建此 QPixmap 的拷贝,并应用深色蒙版。
基本上我希望这个 QPixmap 的图像被一层不透明度设置为 50% 的纯黑色覆盖。
我知道如何设置 QPixmap 图像的不透明度,但如何添加一层不透明的纯黑色?
谢谢!
最佳答案
您可以使用 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);
效果(之前/之后):
vs
不透明的黑色边框可以通过在绘画前设置半透明笔来去除。
如果您想保留原始图像,请在应用“掩码”之前复制像素图。
关于c++ - 如何在 QPixmap 上应用深色 mask 层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14083967/