我正在使用Direct2D绘制位图。这些位图利用了透明度(alpha通道)。
混合看起来不对劲。
作为测试,我加载了一个纯黑的png图像,透明度为50%,并将其绘制在白色背景上。结果是像素的红色,绿色和蓝色值为127(0x7F7F7F)。这表明Direct2D的混合忽略了伽马值,并将颜色值视为线性值。
(位图使用常规sRGB颜色空间,每个像素为32位,每个颜色通道(红、绿、蓝和Alpha)8位。它们以GUID_WICPixelFormat32bppPBGRA格式加载。)
在sRGB中,介于黑色和白色之间的混合值为186(0xBABABA)。这是我想要的理想结果。
Direct2D能否显示具有伽马值关注的透明度?我该怎么做?任何帮助都将不胜感激。
混合看起来不对劲。
作为测试,我加载了一个纯黑的png图像,透明度为50%,并将其绘制在白色背景上。结果是像素的红色,绿色和蓝色值为127(0x7F7F7F)。这表明Direct2D的混合忽略了伽马值,并将颜色值视为线性值。
(位图使用常规sRGB颜色空间,每个像素为32位,每个颜色通道(红、绿、蓝和Alpha)8位。它们以GUID_WICPixelFormat32bppPBGRA格式加载。)
在sRGB中,介于黑色和白色之间的混合值为186(0xBABABA)。这是我想要的理想结果。
Direct2D能否显示具有伽马值关注的透明度?我该怎么做?任何帮助都将不胜感激。