当画笔的不透明度和 alpha 通道均小于 1 时,direct2d 如何计算不透明度

问题描述 投票:0回答:1

在 direct2d 中有所有画笔的基础

ID2D1Brush
,它的不透明度设置为
SetOpacity
,还有一个纯色画笔,它使用带 alpha 通道的浮点 RGBA 颜色。还有其他刷子,但我还没有使用它们。如果我设置画笔的不透明度并使用 alpha 通道小于 1 的颜色,那么最终的不透明度将如何确定?其中一个会覆盖另一个吗?或者不透明度将是不透明度值和 alpha 的乘积?

winapi direct2d
1个回答
0
投票

@IInspectable 是正确的(添加答案添加照片)。

来自我复杂的笔刷编辑器:

完全不透明的红色:

选择不透明度为 50% 的红色 (D2D1_COLOR_F 1,1,1,0.5f)

每个 ID2D1Brush 的不透明度设置也设置为 50%

所以,它们相乘了。这个想法是为包含多种颜色(线性、径向和位图)的画笔设置一个全局设置。当然对于实心刷来说,意义不大

© www.soinside.com 2019 - 2024. All rights reserved.