WPF canvas、基本图形、path几个示例
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几个示例相关推荐
- WPF中GDI+图形图像的绘制:(一)绘制文本——动态设置字体、大小、颜色
GDI+(Graphics Device Interface Plus图形设备接口加)是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息.GDI+不但在功能上比GDI 要强大很多 ...
- WPF 几何图形之图形微语言命令
WPF 几何图形之图形微语言命令 在WPF中,可以通过几何图形(Geometry)来绘制矢量图形. 简单的几何图形包括:LineGeometry.RectangleGeometry.EllipseGe ...
- html5 canvas绘制图形,html5 Canvas绘制图形入门详解
html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...
- python中用于绘制各种图形的区域称作_Python使用matplotlib填充图形指定区域代码示例...
Python使用matplotlib填充图形指定区域代码示例 本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法. import nump ...
- WPF中GDI+图形图像的绘制:(五)绘制图像——蒙板效果
这里要实现的效果指的是对图片像素点区域进行颜色叠加,首先要做的是得到图片非透明部分的区域,效果如图: 实现步骤:1.在主窗体添加控制控件: <Label Grid.Row="4&quo ...
- - Canvas 简介- 使用 Canvas 绘制图形- Canvas 常用方法- SVG 简介- 使用 SVG 绘制基本图形
1 Canvas 简介 Canvas 表示画布,现实生活中的画布是用来作画的. HTML5 中的 Canvas :我们可以称它为"网页中的画布".默认情况下,Canvas 是一块 ...
- HTML5 装饰Canvas中图形
装饰图形 Canvas为图形提供了一些默认样式,如线条.填充的默认颜色为黑色等.但是,这些默认样式无法满足所有用户的需求,也无法体现Canvas的灵活性,故Canvas为图形定义了一些属性,以便用户自 ...
- 【canvas绘制图形】
canvas绘制图形 一.绘制圆形 二.绘制三角形 三. 绘制矩形 一.绘制圆形 <!DOCTYPE html> <html lang="en"> < ...
- 掌财社:前端接口怎么实现canvas动态图形效果?方法详情!
我们在通过上个文章中的分享我们知道大概有关于如何利用canvas来进行图形绘制这方面的相关内容,那么今天我们接着来说说有关于"前端接口怎么实现canvas动态图形效果?"这个问题的 ...
- HTML5 Canvas核心技术:图形.动画与游戏开发
<HTML5 Canvas核心技术:图形.动画与游戏开发> 基本信息 原书名:Core HTML5 Canvas: Graphics, Animation, and Game Develo ...
最新文章
- Webpack 4 api 了解与使用
- 人的一生为什么要努力 1
- “旧城改造”的背后——银泰新零售阿里云解决方案(上)
- .NET基础 (03)生成、部署和管理
- html分页 页码中间省略,jquery实现了一个分页,如何是现实固定的页码数,查过部分用页码省略号代替?...
- 基于STM32F4的舵机控制
- 财富信息不需要传userID后台会根据保存的session提供数据
- 从Word Embedding到Bert模型——自然语言处理预训练技术发展史
- php做图书管理系统绪论,基于PHP图书管理系统的设计与实现本科毕业论文
- java项目-第33期基于SSM框架的图书管理系统【毕业设计】
- 【matlab图像处理】图像处理的经典操作
- 牛客 Algorithm Choosing Mushrooms
- vue华视电子身份证阅读器的使用II
- Flutter 淡入淡出与逐渐出现动画
- 【学习OpenCV4】分水岭算法详解
- 数据结构:什么是红黑树?为什么要用红黑树?
- (零基础)入门python学习四步骤,附上Python全栈学习路线大刚!
- 0x7fffffff解析
- “2020学术公众号100强”重磅发布,“年度学术公众号Top10”开启投票
- 中国财团收购Opera 为什么要美国监管部门同意?