【发布时间】:2015-02-04 13:56:29
【问题描述】:
我四处寻找一些答案,但找不到任何东西。我想知道是否有办法为椭圆制作自定义笔画。我在画布上绘制了一堆椭圆,单击它们时,单击的椭圆会以绿色笔划突出显示。我想让它在绿色笔划内有一条小黑线,以使事物更加明显。这可以吗?
【问题讨论】:
标签: c# wpf colors ellipse stroke
我四处寻找一些答案,但找不到任何东西。我想知道是否有办法为椭圆制作自定义笔画。我在画布上绘制了一堆椭圆,单击它们时,单击的椭圆会以绿色笔划突出显示。我想让它在绿色笔划内有一条小黑线,以使事物更加明显。这可以吗?
【问题讨论】:
标签: c# wpf colors ellipse stroke
我所知道的“最简单”的方法是简单地将RadialGradientBrush 应用于Ellipse 的Stroke,将黑色设置为Offset 0.5,将绿色设置在附近。
问题在于“就在附近”取决于椭圆的笔画粗细;您将不得不修改您的RadialGradientBrush 的RadiusX 和RadiusY 以适应它(作为旁注,7 的StrokeThickness 需要~0.95 的半径才能居中,而厚度为3 需要半径约为 0.975)。
另一个问题是让你的内圈看起来足够细,玩绿色GradientStops的Offsets,直到你满意为止。
它应该生成如下所示的 XAML:
<Ellipse StrokeThickness="3">
<Ellipse.Stroke>
<RadialGradientBrush RadiusX="0.975" RadiusY="0.975">
<GradientStop Color="Black" Offset="0.5"/>
<GradientStop Color="Green" Offset="0.505"/>
<GradientStop Color="Green" Offset="0.495"/>
</RadialGradientBrush>
</Ellipse.Stroke>
</Ellipse>
【讨论】: