1 Canvas和基本形状

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid><Canvas Margin="0,0,0,0" Background="White"><Rectangle Fill="Orange" Stroke="SeaGreen" StrokeThickness="3"Width="250" Height="220" Canvas.Left="150" Canvas.Top="100"/><Ellipse Fill="LimeGreen" Stroke="Green" StrokeThickness="3"Width="250" Height="100"Panel.ZIndex="1" Canvas.Left="55" Canvas.Top="25"/></Canvas></Grid>
</Page>

通过 Canvas 元素,可以根据 x 和 y 绝对坐标定位内容。可以在唯一的位置绘制元素;或者,如果多个元素占用了相同的坐标,则这些元素在标记中的出现顺序可决定它们的绘制顺序。

Canvas.Left,Canvas.Top,定义了形状在Canvas中的位置;Stroke,边框颜色;StrokeThickness,边框像素宽度;

WPF中各种颜色名如下;

2 路径和几何元素

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid><Canvas><Path Stroke="SeaGreen" StrokeThickness="5"><Path.Data><EllipseGeometry Center="100,100" RadiusX="70" RadiusY="30"></EllipseGeometry></Path.Data></Path></Canvas></Grid>
</Page>

可以在路径中使用几何元素,如EllipseGeometry;

3 线条几何图形

LineGeometry 类:表示线条的几何图形;

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid ShowGridLines="True" HorizontalAlignment="Left"><Canvas Height="200" Width="200"><Path Stroke="SeaGreen" StrokeThickness="5"><Path.Data><LineGeometry StartPoint="2,2" EndPoint="50,100"></LineGeometry></Path.Data></Path></Canvas></Grid>
</Page>

4 路径中画贝塞尔曲线

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid>  <Path  Stroke="Green" StrokeThickness="3"><Path.Data><PathGeometry><PathFigure StartPoint="10,10"><BezierSegment Point1="220,40" Point2="300,430" Point3="600,330"  IsSmoothJoin="True"/></PathFigure></PathGeometry></Path.Data></Path></Grid>
</Page>

也可以在路径中画贝塞尔曲线;贝塞尔曲线是由控制点定义的;改变控制点坐标,图形如下;

5 利用路径中的点绘制形状

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><Grid>  <Path Stroke="Red" Fill="DarkGreen" Data="M 100,100 A 50,30 0 0 0 100,200 A 65 50 0 0 1 100,300"></Path></Grid>
</Page>

如下代码;
<Path x:Name="path_data" Stroke="#FFE23838" StrokeThickness="1" Data="M 100,0 A 50,100 0 0 0 100,200"></Path>
含义如下;
    M 起始点 (100,0)  A 尺寸(X50,Y100半径)  圆弧旋转角度值(0) 优势弧的标记(否,弧角度小于180)  正负角度标记(0 逆时针画圆)   结束点(100,200)

6 绘制问号和齿轮

问号:
M 0 0 l 0 4.4 l 10.6 0 a 1.9 1.5 0 0 1 1.9 1.5
l 0 4 a 2 2.3 0 0 1 -2 2.3 l -2.7 0 
a 4.4 5.5 0 0 0 -4.4 5.5 l 0 7.7 l 4.6 0 l 0 -7.0
a 1.8 1.9 0 0 1 1.8 -1.9 l 2.6 0
a 4.5 4.5 0 0 0 4.5 -4.5 l 0 -6.8
a 5.7 5.3 0 0 0 -5.7 -5.3z
m 3.6 28.1 l4.7 0 l 0 4.7 l -4.7 0z

齿轮:
M 15 7.5 a 7.5 7.5 0 0 0 0 15 a 7.5 7.5 0 0 0 0 -15
M 19 0.6 A 15 15 0 0 0 11.2 0.6 L 12.2 3.9 A 11.5 11.5 0 0 0 7.0 6.8 L 4.5 4.3
A 15 15 0 0 0 0.5 11.4 L 3.8 12.2 A 11.5 11.5 0 0 0 3.9 18 L 0.7 19
A 15 15 0 0 0 4.4 25.5 L 6.9 23 A 11.5 11.5 0 0 0 12 26.1 L 11 29.5
A 15 15 0 0 0 18.8 29.4 L 17.8 26.1 A 11.5 11.5 0 0 0 23 23.2 L25.4 25.7
A 15 15 0 0 0 29.5 18.7L 26.1 17.8 A 11.5 11.5 0 0 0 26 11.9L 29.4 11
A 15 15 0 0 0 25.5 4.5 L 23.2 6.9 A 11.5 11.5 0 0 0 18 3.9 Z

路径的作用不止是绘制形状;可以跟事件结合;我以前做过,在窗体上绘制手的形状,鼠标点在手形范围之内,不触发任何事件,点在手形范围之外,触发窗体事件;

WPF canvas、基本图形、path几个示例相关推荐

  1. WPF中GDI+图形图像的绘制:(一)绘制文本——动态设置字体、大小、颜色

    GDI+(Graphics Device Interface Plus图形设备接口加)是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息.GDI+不但在功能上比GDI 要强大很多 ...

  2. WPF 几何图形之图形微语言命令

    WPF 几何图形之图形微语言命令 在WPF中,可以通过几何图形(Geometry)来绘制矢量图形. 简单的几何图形包括:LineGeometry.RectangleGeometry.EllipseGe ...

  3. html5 canvas绘制图形,html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

  4. python中用于绘制各种图形的区域称作_Python使用matplotlib填充图形指定区域代码示例...

    Python使用matplotlib填充图形指定区域代码示例 本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法. import nump ...

  5. WPF中GDI+图形图像的绘制:(五)绘制图像——蒙板效果

    这里要实现的效果指的是对图片像素点区域进行颜色叠加,首先要做的是得到图片非透明部分的区域,效果如图: 实现步骤:1.在主窗体添加控制控件: <Label Grid.Row="4&quo ...

  6. - Canvas 简介- 使用 Canvas 绘制图形- Canvas 常用方法- SVG 简介- 使用 SVG 绘制基本图形

    1 Canvas 简介 Canvas 表示画布,现实生活中的画布是用来作画的. HTML5 中的 Canvas :我们可以称它为"网页中的画布".默认情况下,Canvas 是一块 ...

  7. HTML5 装饰Canvas中图形

    装饰图形 Canvas为图形提供了一些默认样式,如线条.填充的默认颜色为黑色等.但是,这些默认样式无法满足所有用户的需求,也无法体现Canvas的灵活性,故Canvas为图形定义了一些属性,以便用户自 ...

  8. 【canvas绘制图形】

    canvas绘制图形 一.绘制圆形 二.绘制三角形 三. 绘制矩形 一.绘制圆形 <!DOCTYPE html> <html lang="en"> < ...

  9. 掌财社:前端接口怎么实现canvas动态图形效果?方法详情!

    我们在通过上个文章中的分享我们知道大概有关于如何利用canvas来进行图形绘制这方面的相关内容,那么今天我们接着来说说有关于"前端接口怎么实现canvas动态图形效果?"这个问题的 ...

  10. HTML5 Canvas核心技术:图形.动画与游戏开发

    <HTML5 Canvas核心技术:图形.动画与游戏开发> 基本信息 原书名:Core HTML5 Canvas: Graphics, Animation, and Game Develo ...

最新文章

  1. Webpack 4 api 了解与使用
  2. 人的一生为什么要努力 1
  3. “旧城改造”的背后——银泰新零售阿里云解决方案(上)
  4. .NET基础 (03)生成、部署和管理
  5. html分页 页码中间省略,jquery实现了一个分页,如何是现实固定的页码数,查过部分用页码省略号代替?...
  6. 基于STM32F4的舵机控制
  7. 财富信息不需要传userID后台会根据保存的session提供数据
  8. 从Word Embedding到Bert模型——自然语言处理预训练技术发展史
  9. php做图书管理系统绪论,基于PHP图书管理系统的设计与实现本科毕业论文
  10. java项目-第33期基于SSM框架的图书管理系统【毕业设计】
  11. 【matlab图像处理】图像处理的经典操作
  12. 牛客 Algorithm Choosing Mushrooms
  13. vue华视电子身份证阅读器的使用II
  14. Flutter 淡入淡出与逐渐出现动画
  15. 【学习OpenCV4】分水岭算法详解
  16. 数据结构:什么是红黑树?为什么要用红黑树?
  17. (零基础)入门python学习四步骤,附上Python全栈学习路线大刚!
  18. 0x7fffffff解析
  19. “2020学术公众号100强”重磅发布,“年度学术公众号Top10”开启投票
  20. 中国财团收购Opera 为什么要美国监管部门同意?

热门文章

  1. 计算机硬件的基本组成
  2. C#-通过OpcUA监控设备
  3. windows 技术篇 - cmd命令查看当前目录下的所有文件和文件夹以及所有子目录下的文件,dir命令的使用方法
  4. Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
  5. VBS转化为exe可执行文件实例演示,vbs转exe工具推荐
  6. 浏览器中遮罩层镂空效果的多种实现方法
  7. 从源码理解ReentrantLock
  8. CTFshow 反序列化 web273
  9. 最短路径·三:SPFA算法 HihoCoder - 1093 (spfa无向图)
  10. Oracle数据库操作注意事项