WPF组合Path绘制
假设我们需要绘制如图的组合图形:
一般的解决方案是如下代码,创建一个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绘制相关推荐
- WPF 使用Path绘制几何图形
Path类继承自Shape,可以绘制很多简单的,复合的图形.Path类通过提供的Data属性,Data属性接受一个Geometry对象(我的理解就是Data要装什么集合图形呀),Geometry一共有 ...
- 最终版本Science级组合图表绘制
简介 ggcor 是厚哥最近的作品,功能完全代替了science组合图表绘制.这里我也为大家带力实战教程,总体来说厚哥这个ggcor包用起来还是挺方便的,将许多功能简化,为我们提供了一个很好的入门机会 ...
- r中gglot怎么组合多张图_最终版本Science级组合图表绘制
简介 ggcor 是 厚哥最近的作品,功能完全代替了前两次的你终于可以做这张图和重大升级的两个science组合图表绘制.这里我也为大家带肋实战教程,总体来说厚哥这个ggcor包用起来还是挺方便的,将 ...
- Science:组合图表绘制
写在前面 有些事情做了很痛苦,但是不做更难受.比如今天谈到的这件事情,我花了一天加一个晚上时间才写了一个这个功能:Science组合图表的实现.这部分一共写了三个函数,一个门特尔检验,一个ggplot ...
- 【Python】Pyecharts 组合图形绘制实践
来源:Python数据之道 作者:Peter 整理:Lemon Pyecharts 组合图形绘制实践 大家好,之前跟大家分享了用 Pyecharts 绘制桑基图和饼图: 炫酷!用Python制作漂亮的 ...
- science图表_Science:组合图表绘制
写在前面 有些事情做了很痛苦,但是不做更难受.比如今天谈到的这件事情,我花了一天加一个晚上时间才写了一个这个功能:Science组合图表的实现.这部分一共写了三个函数,一个门特尔检验,一个ggplot ...
- 通过path绘制点击区域
通过path绘制点击区域 效果 源码 https://github.com/YouXianMing/Animations // // TapDrawImageView.h // TapDrawImag ...
- WPF使用Canvas绘制可变矩形
WPF使用Canvas绘制可变矩形 原文:WPF使用Canvas绘制可变矩形 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/WANGYAN9110/ ...
- Sliverlight中使用Path绘制复杂几何图形
Sliverlight中使用Path绘制复杂几何图形 转自http://www.riafan.com/article/silverlight/draw-with-path.html 在Sliverli ...
最新文章
- Python基础教程学习笔记:第一章 基础知识
- 云上如何做冷热数据分离
- leetcode - 931. 下降路径最小和
- SVN客户端与服务端安装详解
- English Through Movie
- 学习使用autotools
- sap系统webservice接口开发
- 深入了解Excel工作表中的控件
- 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
- <<飞 鸟 集>> 泰戈尔
- python 制作工资条
- python爬虫之创建表格
- GPRS网络几种数据中心的接入方式
- 微软小娜 服务器连不上,win10小娜提示“无法获取你感兴趣的信息,因为你处于离线状态”的解决方法...
- 【linux】Could not update ICEauthority file /home/xxx/.ICEauthority问题解决
- LInux下Mplayer字幕乱码,日文字体部分乱码解决方案
- 机器学习(一)——什么是机器学习
- 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会
- 完美解决,抖音高清直播,解决服务升级中,功能暂不可用!
- 南大一次性“挖走”5名武大学者引热议,学校和老师回应
热门文章
- 求职者说:成功应聘华为后的总结
- 哪个品牌的蓝牙耳机质量比较好?内行推荐四款好用的蓝牙耳机
- 应用c语言编写adams用户自定义函数的研究,C语言编写adams用户自定义函数导入到adams中function_builder.doc...
- asar软件包linux,WinAsar下载_WinAsar工具下载(ASAR文件查看打包解包工具)-下载之家...
- Electron打包程序resource目录的asar文件修改
- 嘿Siri,我的血糖是多少? 学习使用Apple的iPhone快捷方式进行编码
- origin9语言设置中文_英雄联盟手游外服语言设置更改中文方法 LOL手游为什么不能隔墙插眼...
- G450 CPU 升级
- 轻轻松松在优麒麟上使用 Steam 畅玩大型游戏
- 开发框架-SpringMVC