我想画一个球的棋子,在wpf中。
件是拉深作为省略与半径梯度刷。
正如你在下面看到的,我的黑色作品看起来棒极了,
但是,如果不让白色的看起来像灰色的话,很难得到任何深度的白色。
我正在使用:
private readonly Brush _whitePieceBrush = new RadialGradientBrush(Colors.Snow, Colors.Ivory);
private readonly Brush _blackPieceBrush = new RadialGradientBrush(Colors.DarkGray, Colors.Black);
...
using (DrawingContext dc = _piecesVisual.RenderOpen())
{
....
Brush brush = piece.Value.IsBlack ? _blackPieceBrush : _whitePieceBrush;
var pen = new Pen(new SolidColorBrush(Colors.Black), 0.5);
dc.DrawEllipse(brush, pen, new Point(posX, posY), 15, 15);
...
}
白色碎片周围的黑色圆圈帮不上忙,但没有它们,情况看起来更糟。(如果我能找到一个画得更好的方法,我会把它去掉)
最佳答案
下面是什么呢?焦点有点偏离中心,我发现这样可以改善空间印象。
<Ellipse Width="60" Height="60">
<Ellipse.Fill>
<RadialGradientBrush GradientOrigin="0.3,0.3">
<RadialGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="White" Offset="0.3"/>
<GradientStop Color="#FFF0F0F0" Offset="1"/>
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>