【问题标题】:Silverlight LinearGradientBrush Color not correctSilverlight LinearGradientBrush 颜色不正确
【发布时间】:2017-04-12 02:33:37
【问题描述】:

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

我的代码:

<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

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

【问题讨论】:

  • 感谢 Huy Nguyen,我没有足够的声望来显示截图。
  • 您是否尝试用十六进制写红色而不是字面上的红色。例如 ?
  • 感谢 Jacek Gzel,但我尝试使用 #FFFF0000,结果是一样的。这很难理解。

标签: silverlight lineargradientbrush


【解决方案1】:

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

解决方法 - 如下设置 Offset 属性:

<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>

【讨论】:

  • 感谢 Jaroslaw Rejterada。
猜你喜欢
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 2015-03-10
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
相关资源
最近更新 更多