wpf制作公章、圆形环绕字
使用 WPF 制作 公章,主要使用到的知识点有:缩放变换,旋转变换的知识。下面附上xaml代码。
<Grid > <!--背景图片,可有可无--> <Grid.Background> <LinearGradientBrush> <GradientStop Color="Blue" Offset="0"/> <GradientStop Color="yellow" Offset="0.5"/> <GradientStop Color="Red" Offset="1"/> </LinearGradientBrush> </Grid.Background> <Grid.Resources> <!--定义label的样式--> <Style TargetType="{x:Type Label}"> <Setter Property="RenderTransformOrigin" > <Setter.Value> <Point X="0.5" Y="2.5"/> </Setter.Value> </Setter> <Setter Property="Width" Value="56"/> <Setter Property="Height" Value="50"/> <Setter Property="FontSize" Value="30"/> <Setter Property="Foreground" Value="#ffff0000"/> <Setter Property="VerticalAlignment" Value="Top"/> <Setter Property="RenderTransform"> <Setter.Value> <TransformGroup> <ScaleTransform ScaleX="0.6" ScaleY="1"/> <!--绑定到Tag上,用于旋转的角度--> <RotateTransform Angle="{Binding Tag,RelativeSource={RelativeSource AncestorType=Label}}"/> </TransformGroup> </Setter.Value> </Setter> </Style> </Grid.Resources> <!--外侧圆圈--> <Ellipse Margin="0,1,0,0" Height="250" Fill="{x:Null}" Stroke="#FFFF0000" x:Name="EllipseBorder" HorizontalAlignment="Center" VerticalAlignment="Top" Width="250" StrokeThickness="1"/> <!--中间的五角星--> <Path StrokeThickness="1.000000" Stroke="{x:Null}" Fill="#FFFF0000" Data="F1 M 55.467773,1.628906 L 68.130859,40.893066 L 109.385742,40.802734 L 75.957031,64.979004 L 88.791016,104.187500 L 55.467773,79.865234 L 22.144531,104.187500 L 34.978516,64.979004 L 1.549805,40.802734 L 42.804688,40.893066 L 55.467773,1.628906 Z" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Center"> <Path.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="0.68" ScaleY="0.68"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Path.RenderTransform> </Path> <!--下面是一堆文字和角度--> <Label Content="我" Tag="10"/> <Label Content="是" Tag="30"/> <Label Content="一" Tag="50"/> <Label Content="只" Tag="70"/> <Label Content="快" Tag="90"/> <Label Content="乐" Tag="110"/> <Label Content="的" Tag="130"/> <Label Content="小" Tag="150"/> <Label Content="黄" Tag="170"/> <Label Content="鸭" Tag="190"/> <Label Content="黄" Tag="210"/> <Label Content="黄" Tag="230"/> <Label Content="黄" Tag="250"/> <Label Content="黄" Tag="270"/> <Label Content="黄" Tag="290"/> <Label Content="黄" Tag="310"/> <Label Content="~" Tag="330"/> <Label Content="~" Tag="350"/> </Grid>
大致效果已经出来了,其它美化就要你们自己动手啦~
效果图: