原文:WPF入门(三)->几何图形之不规则图形(PathGeometry) (2)

上一节我们介绍了PathGeometry中LineSegment是点与点之间绘制的一条直线,那么我们这一节来看一下点与点之间绘制曲线ArcSegment

先来看一段代码

<Window x:Class="WPF.SimpleGraph.PathFill.Window1"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="Window1" Height="300" Width="300">    <Canvas>        <Path Stroke="DarkGray" StrokeThickness="2">            <Path.Data>                <PathGeometry>                    <PathFigure StartPoint="40,40" IsClosed="True">                        <LineSegment Point="40,130"></LineSegment>                        <ArcSegment Point="60,150" Size="20,20" ></ArcSegment>                        <LineSegment Point="200,150"></LineSegment>                        <ArcSegment Point="220,130" Size="20,20"></ArcSegment>                        <LineSegment Point="220,40"></LineSegment>                        <ArcSegment Point="200,20" Size="20,20"></ArcSegment>                        <LineSegment Point="60,20"></LineSegment>                        <ArcSegment Point="40,40" Size="20,20"></ArcSegment>                    </PathFigure>                </PathGeometry>            </Path.Data>        </Path>    </Canvas></Window>

执行结果:

其中ArcSegment表示一条点到点之间的曲线

例如该代码它

<PathFigure StartPoint="40,40" IsClosed="False">                        <ArcSegment Point="40,80" Size="20,20" ></ArcSegment>                    </PathFigure>

它的效果是从点(40,40)到点(40,80)之间绘制一条曲线

ArcSegment的Size属性表示该曲线的弧度及形状,详细弧度与值的关系请查考msdn

<LineSegment Point="40,130"></LineSegment><ArcSegment Point="60,150" Size="20,20" ></ArcSegment>

该代码表示画一条从StartPoint到40,130的直线,再从40,130到60,150的曲线

依次类推,我们便可画出一个弧形角的矩形。

WPF入门(三)->几何图形之不规则图形(PathGeometry) (2)的更多相关文章

  1. WPF入门(三)->几何图形之不规则图形(PathGeometry)

    原文:WPF入门(三)->几何图形之不规则图形(PathGeometry) 前面我们给大家介绍了LineGeometry,EllipseGeometry,CombinedGeometry等一些规 ...

  2. WPF入门(三)->几何图形之矩形(RectangleGeometry)

    原文:WPF入门(三)->几何图形之矩形(RectangleGeometry) 我们可以使用RectangleGeometry来绘制一个矩形或者正方形 RectangleGeometry 类:描 ...

  3. WPF入门(三)->几何图形之椭圆形(EllipseGeometry)

    原文:WPF入门(三)->几何图形之椭圆形(EllipseGeometry) 我们可以使用EllipseGeometry 来绘制一个椭圆或者圆形的图形 EllipseGeometry类: 表示圆 ...

  4. WPF入门(三)->几何图形之线条(LineGeometry)

    原文:WPF入门(三)->几何图形之线条(LineGeometry) 前一章我们对wpf的xaml语言有了一定的了解,那么我们现在开始来学习如何使用wpf来画出几何图形. LineGeometr ...

  5. WPF入门(三)->两个几何图形合并(CombinedGeometry)

    原文:WPF入门(三)->两个几何图形合并(CombinedGeometry) 在WPF中,提供了一个CombinedGeometry对象可以使两个几何图形合并产生效果 CombinedGeom ...

  6. WPF入门教程系列二十三——DataGrid示例(三)

    DataGrid的选择模式 默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改 ...

  7. WPF入门教程系列三——Application介绍(续)

    接上文WPF入门教程系列二——Application介绍,我们继续来学习Application 三.WPF应用程序的关闭 WPF应用程序的关闭只有在应用程序的 Shutdown 方法被调用时,应用程序 ...

  8. C#WPF 如何绘制几何图形 图示教程 绘制sin曲线 正弦 绘制2D坐标系 有图有代码

    原文:C#WPF 如何绘制几何图形 图示教程 绘制sin曲线 正弦 绘制2D坐标系 有图有代码 C#WPF 如何绘制几何图形? 怎么绘制坐标系?绘制sin曲线(正弦曲线)? 这离不开Path(Syst ...

  9. [WPF] 使用三种方式实现弧形进度条

    1. 需求 前天看到有人问弧形进度条怎么做,我模仿了一下,成果如下图所示: 当时我第一反应是可以用 Microsoft.Toolkit.Uwp.UI.Controls 里的 RadialGauge 实 ...

随机推荐

  1. ARCGIS刷新的故事

    转自原文章ARCGIS部分刷新 1, IActiveView.Refresh 全局刷新,即重绘地图中的所有内容,是效率最低的一种刷新方法.当数据量大时非常耗时.所以除非绝对必要,一般推荐使用IActi ...

  2. 关于C++中用两个迭代器方式初始化string的知识

    string(iter1, iter2); 第一点:两个迭代器必须指向同一个容器. 第二点:iter2必须>=iter1. 第三点:假设iter1等于iter2,那么结果为空[] 另外一个比較特 ...

  3. 常用加密算法的Java实现总结(二)

    常用加密算法的Java实现总结(二) ——对称加密算法DES.3DES和AES 摘自:http://www.blogjava.net/amigoxie/archive/2014/07/06/41550 ...

  4. JS学习笔记 - fgm练习 - 网页换肤

    总结: 1. 点击按钮,div内部变色,边框保持颜色不变. 实现原理:其实本来就把background 和 border 分别设置了同一个颜色,看似是一个整体,其实本来就是分开的. 那么点击的时候,只 ...

  5. 利用OBJECT_DEFINITION函数来代码存档

    作为一名数据库管理员,在进行代码迁移之前,总是尽力给提交于开发环境的代码一个完整的面貌.但是,不得不承认,我不能保证不发生任何可能破坏开发系统的事情.当这种情况发生时,可能的补救措施是恢复到目标代码的 ...

  6. 3D游戏《龙心传奇Dragona》全套完整源码

    <龙心传奇Dragona>全套完整源码,<Dragona Online>也叫<龙心传奇>是一款3D中古奇幻风格网络游戏,描写叙述一个充满剑.魔法.恶魔和龙的魔法大陆 ...

  7. js匿名函数(变量加括号就是函数)

    js匿名函数(变量加括号就是函数) 一.总结 变量加括号就是函数,而函数的括号是用来传参的 1.类比:以正常函数去想匿名函数,匿名函数比正常函数只是少了函数名,本质还是一样,该怎么传参还是怎么传参,小 ...

  8. simple-word-Highlighter 支持网址正则表达式匹配

  9. 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析

    4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...

  10. POJ 2590 Steps (ZOJ 1871)

    http://poj.org/problem?id=2590 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1871 题目大 ...