【问题标题】:DirectX C# SolidBrush is drawing whiteDirectX C# SolidBrush 绘制白色
【发布时间】:2020-10-08 16:19:23
【问题描述】:

我想在窗户上画画。为此,我创建了几个画笔。为了测试,我使用了普通的红色 (255, 0, 0)。现在我想使用更具体的颜色,比如 198、17、17 红色。我正在创建这样的画笔:

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

当我现在在窗口中绘制时,它不是红色,而是白色。谁能告诉我这有什么问题以及如何使用我真正想要的颜色进行绘制?

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

【问题讨论】:

    标签: c# directx sharpdx


    【解决方案1】:

    RawColor4 需要介于 0 和 1 之间的浮点值。

    【讨论】:

      【解决方案2】:

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

      将您的值更改为 0 和 1 之间的百分比 -> (198/255,17/255,17/255,1) 同样适用于 Alpha 通道,因此 1 表示不透明,0 表示完全透明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-16
        • 2015-08-07
        相关资源
        最近更新 更多