Silverlight LinearGradientBrush 颜色不正确

Silverlight LinearGradientBrush Color not correct

我想使用 LinearGradientBrush 在 canvas 上水平填充我的矩形。

我的代码:

<Rectangle Width="200" Height="200">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5" >                   
            <GradientStop Color="Red" Offset="0" />
            <GradientStop Color="Blue" Offset="1" />                 
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>

但是我注意到最左边的红色不是#FFFF0000,而是#FFFE0000

那么有人知道为什么会这样吗?

渐变是使用插值绘制的,因此它会趋向于您选择的颜色,但不需要精确绘制。它还取决于您使用渐变的元素的大小。

解决方法 - 如下设置偏移量 属性:

<Rectangle Width="200" Height="200">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="Red" Offset="0.01" />
            <GradientStop Color="Blue" Offset="0.99"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>