0

我有以下 LinearGradientBrush

var brush = new LinearGradientBrush();
brush.GradientStops.Add(new GradientStop { Color = Colors.Transparent, Offset = 0 });
brush.GradientStops.Add(new GradientStop { Color = Colors.Blue, Offset = 0.1 });
brush.GradientStops.Add(new GradientStop { Color = Colors.Cyan, Offset = 0.2 });
brush.GradientStops.Add(new GradientStop { Color = Colors.GreenYellow, Offset = 0.4 });
brush.GradientStops.Add(new GradientStop { Color = Colors.Yellow, Offset = 0.6 });
brush.GradientStops.Add(new GradientStop { Color = Colors.Red, Offset = 0.8 });
brush.GradientStops.Add(new GradientStop { Color = Colors.Magenta, Offset = 1 });

我使用下面的代码来设置纹理坐标

textureCoordinates.Add(new Point(z_value / 100d, 0));

结果还不错。但正如您在下图中看到的那样,即使我用于纹理坐标的 z 值非常低,最高值始终是洋红色:

在此处输入图像描述

正确的例子应该是蓝色的。

如何正确设置颜色?我的 z 值都在 0 到 100 之间。

4

0 回答 0