微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DirectX C#SolidBrush正在绘制白色

如何解决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为完全透明。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。