用XAML的绘图来做一个卡通蜡烛

作者:孙英鹏   撰写时间:2019年5月25日

在学习高级绘图的过程中,由于发神经,利用绘图当中的图形来自做了一个卡通蜡烛,代码很简单,都是矩形和椭圆来进行拼接。

效果图:

在这里插入图片描述

首先在页面分行分列,形成四格,与可以不分(我是为了方便放图才分的),分好格子后就开始作图了,把你想要的图型先弄出来,再一个一个的合在一起,没什么技术含量的事,非常简单,就打发一下时间。

代码:

<Window x:Class="高级.dome2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:高级"
    mc:Ignorable="d"
    Title="dome2" Height="300" Width="300" WindowStartupLocation="CenterScreen">
<Grid>
    <!--自定义行-->
    <Grid.RowDefinitions>
        <RowDefinition Height="5*"/>
        <RowDefinition Height="5*"/>
    </Grid.RowDefinitions>
    <!--自定义列-->
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="5*"/>
        <ColumnDefinition Width="5*"/>
    </Grid.ColumnDefinitions>
    <!--头部-->
    <Rectangle Width="100" Height="100" Fill="Orange" Stroke="Orange" StrokeThickness="3" RadiusX="10" RadiusY="20"  Grid.ColumnSpan="2" Margin="97,83,96.6,87.4" Grid.RowSpan="2"></Rectangle>

    <!--左眼 白-->
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="White" RenderTransformOrigin="0.764,0.325" Margin="105,129,17.8,119.4" Grid.RowSpan="2">
        <Ellipse.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="89.081"/>
                <TranslateTransform X="4.353" Y="6.276"/>
            </TransformGroup>
        </Ellipse.RenderTransform>
    </Ellipse>
    <!--左眼 里黑-->
    <Ellipse Stroke="Black" StrokeThickness="2" Fill="Black" RenderTransformOrigin="0.764,0.325" Margin="112,130,22.8,130.4" Grid.RowSpan="2">
        <Ellipse.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="89.081"/>
                <TranslateTransform X="4.353" Y="6.276"/>
            </TransformGroup>
        </Ellipse.RenderTransform>
    </Ellipse>

    <!--右眼 白-->
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="White" RenderTransformOrigin="0.764,0.325" Margin="11.2,128,111.6,120.4" Grid.RowSpan="2" Grid.Column="1">
        <Ellipse.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="89.081"/>
                <TranslateTransform  Y="6.276"/>
            </TransformGroup>
        </Ellipse.RenderTransform>
    </Ellipse>
    <!--右眼 里黑-->
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Black" RenderTransformOrigin="0.764,0.325" Margin="13.2,130,120.6,130.4" Grid.RowSpan="2" Grid.Column="1">
        <Ellipse.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="89.081"/>
                <TranslateTransform X="4.353" Y="6.276"/>
            </TransformGroup>
        </Ellipse.RenderTransform>
    </Ellipse>

    <!--蜡烛头部上的柱子-->
    <Rectangle Fill="Orange" Stroke="Orange" StrokeThickness="3" Margin="138,69,136.6,51.2" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="2">
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="-1"/>
                <SkewTransform/>
                <RotateTransform Angle="179.798"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
    <Rectangle Fill="Orange" Stroke="Orange" StrokeThickness="3" Margin="121,69,6.8,51.2" RenderTransformOrigin="0.5,0.5">
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="-1"/>
                <SkewTransform/>
                <RotateTransform Angle="179.798"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
    <Rectangle Fill="Orange" Stroke="Orange" StrokeThickness="3" Margin="3.2,69,120.6,51.2" RenderTransformOrigin="0.5,0.5" Grid.Column="1">
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="-1"/>
                <SkewTransform/>
                <RotateTransform Angle="179.798"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
    <Rectangle Fill="Orange" Stroke="Orange" StrokeThickness="3" Margin="136,54,135.6,66.2" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="2">
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="-1"/>
                <SkewTransform/>
                <RotateTransform Angle="179.798"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
    <Rectangle Fill="Orange" Stroke="Orange" StrokeThickness="3" Margin="144,39,143.6,81.2" RenderTransformOrigin="0.663,1.392" Grid.ColumnSpan="2">
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="-1"/>
                <SkewTransform/>
                <RotateTransform Angle="179.798"/>
                <TranslateTransform X="-0.048" Y="-26.774"/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>

    <!--火焰-->
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Red" RenderTransformOrigin="0.764,0.325" Margin="142,11,140.6,102.2" Grid.ColumnSpan="2"/>
    
    <!--腊泪-->
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Yellow" RenderTransformOrigin="0.764,0.325" Margin="37.2,100,101.6,22.2" Grid.Column="1"/>
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Yellow" RenderTransformOrigin="0.764,0.325" Margin="32.2,3.8,109.6,118.4" Grid.Column="1" Grid.Row="1"/>
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Yellow" RenderTransformOrigin="0.764,0.325" Margin="109,101,30.8,20.2"/>
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Yellow" RenderTransformOrigin="0.764,0.325" Margin="112,4.8,29.8,117.4" Grid.Row="1"/>
    <Ellipse  Stroke="Black" StrokeThickness="2" Fill="Yellow" RenderTransformOrigin="0.764,0.325" Margin="28.2,33.8,112.6,88.4" Grid.Column="1" Grid.Row="1"/>
    <!--嘴巴-->
    <Rectangle Fill="Red" Stroke="Orange" StrokeThickness="3" RadiusX="10" RadiusY="20" Margin="109,21.8,107.6,97.4" RenderTransformOrigin="0.363,3.667" Grid.ColumnSpan="2" Grid.Row="1"/>
</Grid>
</Window>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值