假设我们需要绘制如图的组合图形:

一般的解决方案是如下代码,创建一个Canvas包含这三部分,如左图所示。

     <Canvas Margin="508,604,-508,-604"><Canvas.RenderTransform><TransformGroup><ScaleTransform ScaleX="0.8" ScaleY="0.8"/><SkewTransform/><RotateTransform/><TranslateTransform/></TransformGroup></Canvas.RenderTransform><!--上半圆--><Path  Stroke="Black" StrokeThickness="0" Width="300" Height="50" Stretch="Fill" Name="upArch5" ><Path.Data><PathGeometry Figures="M 0,100 A 100,50 0 1 1 200,100" /></Path.Data><Path.Fill><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Gray" /></LinearGradientBrush></Path.Fill></Path><!--中间矩形--><Path Stroke="Black" StrokeThickness="0" Height="100" Stretch="Fill" Canvas.Top="50" Canvas.Left="0" Name="rect5"><Path.Data><RectangleGeometry Rect="0,50,300,100"/></Path.Data><Path.Fill><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Gray" /></LinearGradientBrush></Path.Fill></Path><!--下半圆--><Path  Stroke="Black" StrokeThickness="0" Width="300" Height="50" Stretch="Fill" Name="downArch5" Canvas.Top="150"><Path.Data><PathGeometry Figures="M 0,100 A 100,50 0 1 0 200,100" /></Path.Data><Path.Fill><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Gray" /></LinearGradientBrush></Path.Fill></Path></Canvas>

而实际上,通过Path 的GeometryGroup可以将这些组合起来,如右图所示。

     <Path  Stroke="Black" StrokeThickness="0" Width="300" Height="200" Stretch="Fill" x:Name="upArch" Margin="785,10,697,-310" ><Path.Data><GeometryGroup><PathGeometry Figures="M 0,100 A 100,50 0 1 1 200,100" /><RectangleGeometry Rect="0,100,200,100"/><PathGeometry Figures="M 0,200 A 100,50 0 1 0 200,200" /></GeometryGroup></Path.Data><Path.Fill><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Red" /></LinearGradientBrush></Path.Fill></Path>

WPF组合Path绘制相关推荐

  1. WPF 使用Path绘制几何图形

    Path类继承自Shape,可以绘制很多简单的,复合的图形.Path类通过提供的Data属性,Data属性接受一个Geometry对象(我的理解就是Data要装什么集合图形呀),Geometry一共有 ...

  2. 最终版本Science级组合图表绘制

    简介 ggcor 是厚哥最近的作品,功能完全代替了science组合图表绘制.这里我也为大家带力实战教程,总体来说厚哥这个ggcor包用起来还是挺方便的,将许多功能简化,为我们提供了一个很好的入门机会 ...

  3. r中gglot怎么组合多张图_最终版本Science级组合图表绘制

    简介 ggcor 是 厚哥最近的作品,功能完全代替了前两次的你终于可以做这张图和重大升级的两个science组合图表绘制.这里我也为大家带肋实战教程,总体来说厚哥这个ggcor包用起来还是挺方便的,将 ...

  4. Science:组合图表绘制

    写在前面 有些事情做了很痛苦,但是不做更难受.比如今天谈到的这件事情,我花了一天加一个晚上时间才写了一个这个功能:Science组合图表的实现.这部分一共写了三个函数,一个门特尔检验,一个ggplot ...

  5. 【Python】Pyecharts 组合图形绘制实践

    来源:Python数据之道 作者:Peter 整理:Lemon Pyecharts 组合图形绘制实践 大家好,之前跟大家分享了用 Pyecharts 绘制桑基图和饼图: 炫酷!用Python制作漂亮的 ...

  6. science图表_Science:组合图表绘制

    写在前面 有些事情做了很痛苦,但是不做更难受.比如今天谈到的这件事情,我花了一天加一个晚上时间才写了一个这个功能:Science组合图表的实现.这部分一共写了三个函数,一个门特尔检验,一个ggplot ...

  7. 通过path绘制点击区域

    通过path绘制点击区域 效果 源码 https://github.com/YouXianMing/Animations // // TapDrawImageView.h // TapDrawImag ...

  8. WPF使用Canvas绘制可变矩形

    WPF使用Canvas绘制可变矩形 原文:WPF使用Canvas绘制可变矩形 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/WANGYAN9110/ ...

  9. Sliverlight中使用Path绘制复杂几何图形

    Sliverlight中使用Path绘制复杂几何图形 转自http://www.riafan.com/article/silverlight/draw-with-path.html 在Sliverli ...

最新文章

  1. Python基础教程学习笔记:第一章 基础知识
  2. 云上如何做冷热数据分离
  3. leetcode - 931. 下降路径最小和
  4. SVN客户端与服务端安装详解
  5. English Through Movie
  6. 学习使用autotools
  7. sap系统webservice接口开发
  8. 深入了解Excel工作表中的控件
  9. 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
  10. <<飞 鸟 集>> 泰戈尔
  11. python 制作工资条
  12. python爬虫之创建表格
  13. GPRS网络几种数据中心的接入方式
  14. 微软小娜 服务器连不上,win10小娜提示“无法获取你感兴趣的信息,因为你处于离线状态”的解决方法...
  15. 【linux】Could not update ICEauthority file /home/xxx/.ICEauthority问题解决
  16. LInux下Mplayer字幕乱码,日文字体部分乱码解决方案
  17. 机器学习(一)——什么是机器学习
  18. 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会
  19. 完美解决,抖音高清直播,解决服务升级中,功能暂不可用!
  20. 南大一次性“挖走”5名武大学者引热议,学校和老师回应

热门文章

  1. 求职者说:成功应聘华为后的总结
  2. 哪个品牌的蓝牙耳机质量比较好?内行推荐四款好用的蓝牙耳机
  3. 应用c语言编写adams用户自定义函数的研究,C语言编写adams用户自定义函数导入到adams中function_builder.doc...
  4. asar软件包linux,WinAsar下载_WinAsar工具下载(ASAR文件查看打包解包工具)-下载之家...
  5. Electron打包程序resource目录的asar文件修改
  6. 嘿Siri,我的血糖是多少? 学习使用Apple的iPhone快捷方式进行编码
  7. origin9语言设置中文_英雄联盟手游外服语言设置更改中文方法 LOL手游为什么不能隔墙插眼...
  8. G450 CPU 升级
  9. 轻轻松松在优麒麟上使用 Steam 畅玩大型游戏
  10. 开发框架-SpringMVC