如何创建椭圆的自定义笔触颜色?
How to create custom stroke color of ellipse?
我正在四处寻找一些答案,但找不到任何东西。我想知道是否有办法为椭圆制作自定义笔画。我在 canvas 上绘制了一堆椭圆,单击时,单击的椭圆会以绿色笔划突出显示。我想让它在绿色笔划的内部有一条小黑线,让事情更明显。这可能吗?
我知道的 "simplest" 方法是简单地将 RadialGradientBrush
应用到 Ellipse
的 Stroke
,将黑色设为 Offset
0.5 和绿色就在附近。
问题是 "just around" 取决于椭圆的笔划粗细;您将必须修改 RadialGradientBrush
的 RadiusX
和 RadiusY
以适应它(作为旁注,StrokeThickness
7 需要 ~0.95 的半径才能居中,而厚度为 3 需要半径为 ~0.975)。
另一个问题是让你的内圈看起来足够细,玩绿色 GradientStops
的 Offset
直到你满意为止。
它应该生成如下所示的 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>
我正在四处寻找一些答案,但找不到任何东西。我想知道是否有办法为椭圆制作自定义笔画。我在 canvas 上绘制了一堆椭圆,单击时,单击的椭圆会以绿色笔划突出显示。我想让它在绿色笔划的内部有一条小黑线,让事情更明显。这可能吗?
我知道的 "simplest" 方法是简单地将 RadialGradientBrush
应用到 Ellipse
的 Stroke
,将黑色设为 Offset
0.5 和绿色就在附近。
问题是 "just around" 取决于椭圆的笔划粗细;您将必须修改 RadialGradientBrush
的 RadiusX
和 RadiusY
以适应它(作为旁注,StrokeThickness
7 需要 ~0.95 的半径才能居中,而厚度为 3 需要半径为 ~0.975)。
另一个问题是让你的内圈看起来足够细,玩绿色 GradientStops
的 Offset
直到你满意为止。
它应该生成如下所示的 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>