x01.Weiqi.6: 立体棋子

前几天学习 Blend,想画一个立体棋子,却左画右画画不像。后来,看了一个类似的例子,略作修改,竟有点云子的味道。其代码如下:

Stone
<Window x:Class="x01.WpfTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
        <Ellipse Width="100" Height="100">
            <Ellipse.Fill>
                <RadialGradientBrush  GradientOrigin="0.25, 0.25" RadiusX="0.75" RadiusY="0.75">
                    <RadialGradientBrush.GradientStops>
                        <GradientStop Color="#555" Offset="0.0" />
                        <GradientStop Color="#333" Offset="0.65" />
                        <GradientStop Color="#222" Offset="0.8" />
                    </RadialGradientBrush.GradientStops>
                </RadialGradientBrush>
            </Ellipse.Fill>
        </Ellipse>
        <Ellipse Width="100" Height="100">
            <Ellipse.Fill>
                <RadialGradientBrush  GradientOrigin="0.25, 0.25" RadiusX="0.75" RadiusY="0.75">
                    <RadialGradientBrush.GradientStops>
                        <GradientStop Color="#ddd" Offset="0.0" />
                        <GradientStop Color="#bbb" Offset="0.65" />
                        <GradientStop Color="#aaa" Offset="0.8" />
                    </RadialGradientBrush.GradientStops>
                </RadialGradientBrush>
            </Ellipse.Fill>
        </Ellipse>
    </StackPanel>
</Window>

要点有二:

  1.调整 GradientOrigin、Offset ,以产生光照的错觉;

  2.Color 的灰度值相差很小,来达到平滑的效果。

其运行效果图如下:

顺便说一句,应试教育害死人!仔细回想一下,我竟未受过美术教育,因为美术课等于自习课。左画右画画不像,也就不足为奇了。

原文地址:https://www.cnblogs.com/china_x01/p/2765430.html