如何创建椭圆的自定义笔触颜色?

How to create custom stroke color of ellipse?

我正在四处寻找一些答案,但找不到任何东西。我想知道是否有办法为椭圆制作自定义笔画。我在 canvas 上绘制了一堆椭圆,单击时,单击的椭圆会以绿色笔划突出显示。我想让它在绿色笔划的内部有一条小黑线,让事情更明显。这可能吗?

我知道的 "simplest" 方法是简单地将 RadialGradientBrush 应用到 EllipseStroke,将黑色设为 Offset 0.5 和绿色就在附近。

问题是 "just around" 取决于椭圆的笔划粗细;您将必须修改 RadialGradientBrushRadiusXRadiusY 以适应它(作为旁注,StrokeThickness 7 需要 ~0.95 的半径才能居中,而厚度为 3 需要半径为 ~0.975)。

另一个问题是让你的内圈看起来足够细,玩绿色 GradientStopsOffset 直到你满意为止。

它应该生成如下所示的 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>