【发布时间】:2014-06-19 17:17:50
【问题描述】:
我有两张 rgb 图像,每张图像都有一张灰度图像。灰度图像对每个像素的两个图像的透明度进行编码,例如。黑色表示不透明,完全白色。我的问题是:我想根据透明度将两个图像合并为一个不透明的图像(如果将两个灰度图像相加,每个像素都会变黑)。关于如何使用 qt 5 执行此操作的任何想法?
谢谢!!
【问题讨论】:
-
思路:1)将2张图片和2张alpha贴图加载为
QImages,根据alpha贴图修改两张图片中的alpha通道,然后正常混合。 2) 和以前一样,但只需使用所有四张图像作为参考进行 Porter-Duff 混合。 3) 使用QPainter的合成模式——如果你能够blit alpha 贴图,那么SourceIn或SourceATop会给你第一个带有烘焙alpha 的图像,对第二张图片,然后将它们以普通SourceOver混合在一起。
标签: c++ image qt qpainter qimage