效果
为了在一个图片上绘制透明蒙层效果,思路:
- 绘制原图。
- 原图上绘制一层透明度。
代码
QImage image(":/resource/icon24_File_Word.png");
QPixmap pixmap = QPixmap::fromImage(image);
ui->label->setPixmap(pixmap);
// 重新构造一个Pixmap,并采用CompositionMode_DestinationIn绘制透明度
QPixmap pixmap1(pixmap);
QPainter painter(&pixmap1);
painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
painter.fillRect(pixmap1.rect(), QColor(255, 255, 255, 66));
painter.end();
ui->label_2->setPixmap(pixmap1);
注意
- 采用QPainter::CompositionMode_DestinationIn绘制方式。
- 透明颜色只需要透明度即可,QColor(0, 0, 0, 66)和QColor(255, 255, 255, 66)一样的效果。