RGB像素透明度

RGB pixel transparency

本文关键字:透明度 像素 RGB      更新时间:2023-10-16

我正在逐个像素地组合两个RGB图像,每个图像都有不同的大小,在组合它们的同时,我希望顶部的图像大小较小,对于背景中的两个较大的图像来说是透明的,就像透视一样。我应该做什么处理?因为现在。。合并图像恢复到仅替换像素。我如何实现这种透明度?我正在使用c++。

正如评论中所指出的,混合两个图像的基本公式是newColor = ColorTop * alpha + ColorBottom * (1-alpha)

有些图像每像素包含一个alpha值,但从你的简短描述来看,这听起来不像你感兴趣的情况。你只想在整个上部图像上应用恒定的透明度。假设您想要33%的透明度,例如:

alpha = 0.33
Rnew = (Rtop * alpha) + (Rbottom * (1.0 - alpha))
Gnew = (Gtop * alpha) + (Gbottom * (1.0 - alpha))
Bnew = (Btop * alpha) + (Bbottom * (1.0 - alpha))