Silverlight开发历程—(绘制矢量图之Polyline 和 Polygon)
Polyline(多线段) 和 Polygon(多边形)
Polyline(多线段) 和 Polygon(多边形)是Silverlight中简单但功能强大的绘图对象。它允许你声明N个Points属性值,然后根据Points属性的坐标先后顺序来绘制图形,并且支持线条内部的颜色填充。
首先介绍一下PolyLine,他比Line元素更加强大,下面例子利用Polyline来绘制线条:
<Polyline Stroke="Black" Points="0,0 50,50 300,0 400,100"></Polyline>
运行结果:
代码中Points="0,0 50,50 300,0 400,100“ 总共分成了四对坐标然后根据四个点来绘制图形。
下面的例子来 说明Polyline(多线段) 和 Polygon(多边形)两个的用法和区别
<!-- 三组坐标组成的PolyLine开放图形--><Polyline Stroke="Blue" StrokeThickness="6" Points="50,50 150,200 300,50" Fill="Gold"></Polyline>
<!-- 三组坐标组成的Polygon封闭图形--><Polygon Stroke="Blue" StrokeThickness="6" Points="400,50 650,200 800,50" Fill="Gold"></Polygon>
运行结果:
上面例子分别利用Polyline(多线段) 和 Polygon(多边形)来绘制图型,然后除了坐标了不一样,其它的基本上都相同并且都填充了相同的颜色,唯一区别是
我们利用Polygon绘制出来的图形是一个封闭的图形。
Polyline(多线段) 和 Polygon(多边形)均具有FillRule(填充规则)使用FillRule可以声明线条内的填充规则。如下面的例子:
<StackPanel x:Name="LayoutRoot" Background="White" Orientation="Horizontal"><!--EvenOdd 确定一个点是否位于填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,然后计算该射线在给定形状中因交叉而形成的路径段数。 如果此数目为奇数,则该点在内部;如果是偶数,则该点在外部。 Nonzero 确定一个点是否位于路径填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,然后检查形状段与该射线的交点。从零开始计数,每当线段从左向右穿过该射线时加 1,而每当路径段从右向左穿过该射线时减 1。 计算交点的数目后,如果结果为零,则说明该点在路径外部。 否则,说明该点位于路径内部。--><Polygon Stroke="Blue" StrokeThickness="2" Fill="Orange" Margin="120,0,60,0" FillRule="EvenOdd"Points="15,200 68,70 110,200 0,125 134,125"></Polygon><Polygon Stroke="Blue" StrokeThickness="2" Fill="Red" Margin="50,0,0,0" FillRule="Nonzero"Points="15,200 68,70 110,200 0,125 134,125"></Polygon></StackPanel>
运行结果:
分别使用了FillRule的两种规结果也不一样。
Silverlight开发历程—(绘制矢量图之Polyline 和 Polygon)相关推荐
- android绘制矢量图_Android矢量可绘制
android绘制矢量图 In this tutorial, we'll be discussing Android Vector Drawable. Furthermore, we'll be im ...
- android绘制矢量图_Android矢量可绘制对象
android绘制矢量图 Everything about Vector Assets in Android 关于Android中的矢量资产的一切 介绍 (Introduction) In the b ...
- 10款超好用的矢量图软件,轻松绘制矢量图
大家好.我是不知名设计师l1m0_,今天分享内容为:10款超好用的矢量图软件.生活中经常需要绘制或者用到矢量图的朋友一定不能错过,一起来看看吧. 矢量图软件是指使用户能够使用数学和几何命令,而不是单个 ...
- Unity3d绘制矢量图(类似于CAD夹点编辑)
本项目基于Unity3d,可实现矢量图绘制,包括整个实体拖动,夹点拖动编辑等.完整视频点击这里 现有功能主要为了完成某个项目,都是自主开发,效果还是不如传统CAD,功能也比较有限,毕竟unity3d是 ...
- python 通过 matplotlib 绘制矢量图
问题描述 当遇到这种情况:需要通过代码和数据进行图片的绘制的时候,可以考虑使用 OriginPro 进行绘制,并且在很多情况下,OriginPro 都更加合适绘图,导出矢量图也比较方便. 但是如果遇到 ...
- MATLAB 矢量图(风场、电场等)标明矢量大小的方法——箭头比例尺及风矢杆图的绘制
作者: 中国科学院大气物理研究所 律成林 摘要:本文主要讲述了在MATLAB中标明矢量图中矢量大小的方法,其中最主要的方法是绘制箭头比例尺.作为运算速度非常快的软件,MATLAB的一个缺点为缺乏在图窗 ...
- 使用CAD代替Tikz绘制LaTeX矢量图
1.为什么要用CAD代替tikz? 在latex中,插入矢量图形的方法貌似只有tikz,一般的图片插入不符合排版的哲学.但,tikz使用过于复杂低效,于是,我想到了用CAD软件代替tikz绘制矢量图插 ...
- matlab emf 读取,20140219-Emf_Demo EMF 矢量图 可以读取和保存EMF 的封闭类
非常实用 matlab 238万源代码下载- www.pudn.com...
文件名称: 20140219-Emf_Demo下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Visual C++ 文件大小: 6312 KB 上传时间: 2014-07-10 下载次 ...
- 游戏中的图像资源(位图与矢量图比较)
当今游戏早已不再是黑白机的时代,游戏都由色彩丰富.精致的图像,流畅的动画构成.Flash游戏也不例外,Flash既支持矢量图又支持位图,他们各有优缺点.本文的目的即是介绍何时使用矢量图,何时使用位图, ...
最新文章
- arcgis里python窗口运行,在 Python 窗口中执行工具
- 扩展源_Ubuntu14版本下无法使用php7.2版本的bcmath扩展
- python处理csv文件案例_python3读取csv文件任意行列代码实例
- 编程之美 set 1 不要被阶乘吓倒
- html-css练习题(天天生鲜静态网页制作)文末有完整版代码地址链接
- php表格打印输出,PHP输出表格
- crypto 乱码_base64编码加密解密程序,输出有乱码,为什么?
- 官宣!什么是新基建时代的混合云? | 凌云时刻
- 快播CEO认罪_成人网站对技术的要求有多高?
- 360视频:二十面体投影ISP
- C++求一元二次方程根
- yocto_evn compile project whithconfigure
- mysql查询各专业人数_查询各专业的学生数。
- 参数方程下的特殊图像
- 页面图片 “懒加载”
- Kubernetes 常用命令及应用实例
- lol登入服务器显示证书,登录LOL提示安全证书不可用怎么办
- evo评测VINS-MONO---代码修改、数据格式转换、数据测试
- 汽车散热器不同造型的注塑件管口密封方案
- 零基础学习一年拿到BAT三家offer