DirectX C#SolidBrush正在绘制白色

问题描述

我想在窗户上画画。为此,我创建了多个画笔。为了进行测试,我使用了正常的红色(255、0、0)。现在,我想使用更特定的颜色,例如198、17、17红色。我正在创建这样的画笔:

SolidColorBrush _redBrush = new SolidColorBrush(_device,new RawColor4(198,17,1));

当我现在在窗口中绘制时,它不是红色而是白色。谁能告诉我这是怎么回事,我该如何用我想要的颜色绘画?

很抱歉,如果这是一个非常简单的问题,但是我对DirectX的经验不是很丰富。也感谢您的帮助。

解决方法

RawColor4期望浮点值介于0和1之间。

,

颜色应为百分比(在这种情况下),因此1.0等于100%。当您测试255,0时看到红色,因为您向绿色和蓝色通道发送了0,而向红色通道发送了255或25500%,则使用(1,0)可以获得相同的结果。

将值更改为介于0到1之间的百分比->(198 / 255,17 / 255,1)同样适用于alpha通道,因此1为无透明度,0为完全透明。