项目里需要用到一个无人机图标,无奈网上找的都不符合要求,下载的图片还不是透明的,需要处理。于是就想到用polyline画个无人机。刚接触C#几个月,来来回回的也没系统学过。polyline只知道有这么个东西,具体怎么用还真不知道,网上一搜,画各种图像的都有,唯独没找到画无人机的。无奈自己只好自己画了。
<UserControl x:Class="GIS.UavIco"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="30" Width="30">
<Grid>
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="3,0 4,1 0,3 1,4 3,0"/>
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="27,30 26,29 30,27 29,26 27,30"/>
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="27,0 26,1 30,3 29,4 27,0"/>
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="3,30 4,29 0,27 1,26 3,30"/>
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="2,2 15,8 28,2 22,15 28,28 15,22 2,28 8,15 2,2"/>
<TextBlock Name="text" Foreground="White" FontSize="22" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</UserControl>
效果图
附上自己设计的手稿,哈哈
主要分成两部分,一个是画中间的四角星
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="2,2 15,8 28,2 22,15 28,28 15,22 2,28 8,15 2,2"/>
然后画四个角
左上角最好画
<Polyline Stroke="AliceBlue" StrokeThickness="0" StrokeLineJoin="Round" Fill="Gray" Points="3,0 4,1 0,3 1,4 3,0"/>
剩下的几个角的点坐标用(0,30)(30,30) (30,0)减去左上角即可得到,是不是很简单呢。