firemail
标题:
qt中常见的图片叠加模式
[打印本页]
作者:
Qter
时间:
2020-2-25 18:33
标题:
qt中常见的图片叠加模式
本帖最后由 Qter 于 2020-2-25 18:36 编辑
Qt的QPainter::CompositionMode提供了多种图像叠加的模式。
常见的有QPainter::CompositionMode_SourceOver, QPainter::CompositionMode_SourceAtop,QPainter::CompositionMode_DestinationOver和QPainter::CompositionMode_DestinationAtop。
现在逐个描述这四种模式的效果。从
http://www.tuicool.com/articles/NF3qIb
下载了两幅尺寸相等图片:
现在用第一幅图片做掩盖,与第二幅图片合成
1)QPainter::CompositionMode_DestinationOver
注: m_mask和m_img都是QImage类型的变量,也是MainWindow类的成员。一个代表掩盖图,一个代表花瓶图。运行程序时,MainWindow的构造函数会先询问哪一个文件是被遮挡的花瓶图。你选定之后,MainWindow会再次询问哪一个是掩盖图。选定之后,程序自动调用paintEvent,把两个图合成。效果:2)CompositionMode_DestinationAtop将painter.setCompositionMode(QPainter::CompositionMode_DestinationOver)一句改为painter.setCompositionMode(QPainter::CompositionMode_DestinationAtop)即可。效果和1)相同。3)CompositionMode_SourceAtop将painter.setCompositionMode(QPainter::CompositionMode_DestinationOver)一句改为painter.setCompositionMode(QPainter::CompositionMode_SourceAtop)即可。效果:4)CompositionMode_SourceOver。遮盖不起作用。
————————————————
版权声明:本文为CSDN博主「漫天飞舞的雪花」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/lvdepeng123/article/details/79322823
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3