美文网首页
【WPF】绘制简单常用的Path

【WPF】绘制简单常用的Path

作者: UnicornChen | 来源:发表于2020-08-19 09:59 被阅读0次

<meta charset="utf-8">

MSDN告诉我们,Path可以用这些形状绘制:

ArcSegment 类 表示两点之间的一条椭圆弧。

BezierSegment 类 表示在两个点之间绘制的一条三次贝塞尔曲线。

LineSegment 类 在PathFigure中的两个点之间创建一条直线。

PolyBezierSegment 类 表示一条或多条三次方贝塞尔曲线。

PolyLineSegment 类 表示由PointCollection定义的线段集合,每个Point指定线段的终点。

PolyQuadraticBezierSegment 类 表示一系列二次贝塞尔线段。

QuadraticBezierSegment 类 在PathFigure的两点之间创建一条二次贝塞尔曲线。

说了这么多,好复杂呀,我们可以挑最简单的来用:

LineSegment 画直线,PolyLineSegment 画折线,ArcSegment 画圆弧

其实有了这三个类,我们可以画绝大多数简单常用的形状了,下面我举两个例子

image.png

这个形状宽和高都是100,其中矩形宽100高90,三角宽10高10居中

对于这样有棱角的图形,我们只需要找到他所有的顶点就行了

image.png

然后顺时针依次连起来,用PolyLineSegment折线来表示就行了

 <Path Stroke="Red" StrokeThickness="1">
            <Path.Data>
                 <PathGeometry>
                     <PathFigure StartPoint="0,0">
                         <PolyLineSegment Points="100,0 100,90 55,90 50,100 45,90 0,90 0,0"></PolyLineSegment>
                     </PathFigure>
                 </PathGeometry>
             </Path.Data>
         </Path>

来看这个带有圆角的图形,4个圆弧的半径是5,其他属性和上图一样.我们需要将它拆分,拆分成8个部分,4个圆弧和4个边,因为左上角圆弧的关系,起点设置成(5,0),每一部分的起点,都是上一部分的终点:
上边的直线:终点(95,0)
右上角的圆弧:终点(100,5),Size(5,5) 因为圆弧表示的是椭圆的圆弧,Size就是Size(宽,高),当宽和高都一样设置为5时,就指的是半径为5的圆的圆弧了
右边的直线:终点(100,85)
右下角的圆弧:终点(95,90),Size(5,5)
下边的折线:点的集合(55,90 50,100 45,90 5,90) 由于我们是顺时针来的,下边点的集合是从右到左依次来的
左下角圆弧:终点(0,85),Size(5,5)
左边的直线:终点(0,5)
左上角的圆弧:终点(5,0) 与起点重合


image.png
 <Path Stroke="Red" StrokeThickness="1">
              <Path.Data>
                  <PathGeometry>
                      <PathFigure StartPoint="5,0">
                          <LineSegment Point="95,0"></LineSegment>
                          <!--SweepDirection获取或设置一个值,该值指定是以 Clockwise 方向还是以 Counterclockwise 方向绘制弧-->
                          <!--顺时针绘制还是逆时针绘制,你试下另一个值,看下效果就知道怎么回事了-->
                          <ArcSegment Point="100,5" Size="5,5" SweepDirection="Clockwise"></ArcSegment>
                          <LineSegment Point="100,85"></LineSegment>
                         <ArcSegment Point="95,90" Size="5,5" SweepDirection="Clockwise"></ArcSegment>
                         <PolyLineSegment Points="55,90 50,100 45,90 5,90"></PolyLineSegment>
                         <ArcSegment Point="0,85" Size="5,5" SweepDirection="Clockwise"></ArcSegment>
                         <LineSegment Point="0,5"></LineSegment>
                         <ArcSegment Point="5,0" Size="5,5" SweepDirection="Clockwise"></ArcSegment>
                     </PathFigure>
                 </PathGeometry>
             </Path.Data>
         </Path>

相关文章

  • 【WPF】绘制简单常用的Path

    MSDN告诉我们,Path可以用这些形状绘制: ArcSegment 类 表示两点之间的一条椭圆弧。 Bezier...

  • Android Path类介绍

    Path类常用方法 addOval(RectF oval, Path.Direction dir)方法: 绘制椭圆...

  • Android自定义View-Path基本操作

    Path常用方法表 Path作用 在前面我们讲解的所有绘制都是简单图形(如 矩形 圆 圆弧等),而对于那些复杂一点...

  • Android自定义View七(复习基本图形的绘制)

    基本图形的绘制 简单的绘制一个圆饼图 根据Path图形的绘制 雷达图的绘制 效果

  • Android Path详解

    Path 路径,可用于绘制直线、曲线构成几何路径,还可以用于根据路径绘制文字。 常用api 移动、连线、闭合、添加...

  • Android Path总结

    概述路径,可用于绘制直线,曲线构成几何路径,还可用于根据路径绘制文字 Path的常用Api有移动,连线,闭合,添加...

  • NodeJs 的 path 模块

    前言:NodeJs 的 path 模块的作用就是用来处理文件路径的。简单介绍下几个常用的 API。 一、path....

  • Android 自定义View之Path

    Path用途: 按照路径的规则在路径上绘制自定义图形 在使用Path之前我们需要先了解Path的填充规则和绘制方向...

  • 【WPF】绘制矩形

  • Android Path学习笔记

    简单说说   Path是android中用来封装几何学路径的一个类,因为Path在图形绘制上占的比重还是相当大的,...

网友评论

      本文标题:【WPF】绘制简单常用的Path

      本文链接:https://www.haomeiwen.com/subject/qvtkjktx.html