Silverlight图形编程系列(七)-再续绘制矢量图之Polyline 和 Polygon

解决SVG画线line-polyline、矩形rect等线条的stroke-width=1px属性,显示结果变宽成为2px的问题,以及文字模糊的问题 立即下载
Polyline(多线段) 和 Polygon(多边形)

Polyline(多线段) 和 Polygon(多边形)是Silverlight中简单但功能强大的绘图对象。它允许你声明N个Points属性值,然后根据Points属性的坐标先后顺序来绘制图形,并且支持线条内部的颜色填充。

首先介绍一下PolyLine,他比Line元素更加强大,下面例子利用Polyline来绘制线条:

 

<Canvas x:Name="LayoutRoot" Width="517">
           <Polyline Stroke="Black" Canvas.Left="20" Canvas.Top="20" Points="0,0 50,50 300,0 400,100" Height="123" Width="449"></Polyline>
    </Canvas>


 

代码中Points="0,0 50,50 300,0 400,100“ 总共分成了四对坐标然后根据四个点来绘制图形。

下面的例子来 说明Polyline(多线段) 和 Polygon(多边形)两个的用法和区别

        <!-- 三组坐标组成的PolyLine开放图形-->
        <Polyline Stroke="Blue" StrokeThickness="6" Canvas.Left="40" Canvas.Top="40" Points="50,50 150,200 300,50" Fill="Gold" Height="215" Width="429"></Polyline>


        <!-- 三组坐标组成的Polygon封闭图形-->

        <Polygon Stroke="Blue" StrokeThickness="6"  Canvas.Left="10" Canvas.Top="10" Points="200,50 450,200 300,50" Fill="Gold" Height="278" Width="472"></Polygon>

上面例子分别利用Polyline(多线段) 和 Polygon(多边形)来绘制图型,然后除了坐标了不一样,其它的基本上都相同并且都填充了相同的颜色,唯一区别是

我们利用Polygon绘制出来的图形是一个封闭的图形。

Polyline(多线段) 和 Polygon(多边形)均具有FillRule(填充规则)使用FillRule可以声明线条内的填充规则。如下面的例子:

 

 

        <!--EvenOdd 确定一个点是否位于填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,  
                    然后计算该射线在给定形状中因交叉而形成的路径段数。 如果此数目为奇数,则该点在内部;如果是偶数,则该点在外部。    
           Nonzero 确定一个点是否位于路径填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,然后检查形状段与该射线的交点。  
                    从零开始计数,每当线段从左向右穿过该射线时加 1,而每当路径段从右向左穿过该射线时减 1。   
                   计算交点的数目后,如果结果为零,则说明该点在路径外部。 否则,说明该点位于路径内部。-->

        <Polygon Stroke="Blue" Canvas.Left="53" Canvas.Top="186"  StrokeThickness="2" Fill="Orange" FillRule="EvenOdd"  
                 Points="15,200 68,70 110,200 0,125 134,125" Height="235" Width="147"></Polygon>

        <Polygon Stroke="Blue" Canvas.Left="274" Canvas.Top="186"  StrokeThickness="2" Fill="Red"  FillRule="Nonzero"  
               Points="15,200 68,70 110,200 0,125 134,125" Height="251" Width="147"></Polygon>


 

运行结果:

 

CMetaFileDC的使用示例 给出了CMetaFileDC的使用示例。见孔令德《计算机图形学基础教程(Visulal C++版)》(第2版),清华大学出版社。2013年 立即下载

相关推荐

基于Xilinx的I2S Receiver IP核和I2S Transmitter IP核音频验证

基于Xilinx的I2S Receiver IP核和I2S Transmitter IP核音频验证 文章目录前言一、工程构架二、Xilinx IP的配置1.I2S Transmitter IP配置:2.I2S Receiver IP配置:3.WM8960的配置:总结 前言 本实验基于Xilinx ZU4EV平台,也适用于ZYNQ平台。音频验证完成,记录调过程。 ①Xilinx 音频IP只支持主模式,左对齐或右对齐方式,16bit或24bit字长。 ②WM8960器件作为从模式;24bit字长;数据传输格

weixin_45637597的博客 6815

如何在silverlight中画线?

解决方案 <Line X1="10" Y1="10" X2="50" Y2="50"Stroke="Black"StrokeThickness="4" /> 参考 http://msdn.microsoft.com/en-us/library/cc189073(VS.95).aspx

江南孤鹜——“知行合一”的Software Developer 602

轮廓系数(Silhouette Coefficient)

轮廓系数(Silhouette Coefficient)是一种评估聚类效果的指标,用来衡量数据点在聚类中的紧密程度和分离程度。每个数据点的轮廓系数是通过比较该点与其所在聚类内的点的平均距离(内聚度)和该点与最近的其他聚类中的点的平均距离(分离度)来计算的。轮廓系数的值范围从-1到1,其中接近1的值表示该点很好地匹配其自身聚类,并且与相邻聚类差异很大,而接近-1的值则表示该点更适合与相邻的聚类而不是当前聚类。

qlkaicx的博客 4023

Silverlight开发历程—(绘制矢量图之Polyline 和 Polygon)

Polyline(多线段) 和 Polygon(多边形) Polyline(多线段) 和 Polygon(多边形)是Silverlight中简单但功能强大的绘图对象。它允许你声明N个Points属性值,然后根据Points属性的坐标先后顺序来绘制图形,并且支持线条内部的颜色填充。 首先介绍一下PolyLine,他比Line元素更加强大,下面例子利用Polyline来绘制线...

286

保姆级教程:在Windows/Mac上搞定SAM 3的权重和BPE文件下载与配置

本文提供了一份详细的SAM 3权重和BPE文件下载与配置指南,特别针对国内开发者遇到的下载缓慢和配置错误问题。通过国内镜像源快速获取文件,并详细介绍了环境检查、文件下载、路径配置及常见问题解决方案,帮助开发者高效完成SAM 3的部署与使用。

weixin_42547431的博客 551

从机械臂示教到厨房做饭:ACT模仿学习如何让机器人更“人性化”?

本文探讨了ACT(Action Chunking with Transformers)模仿学习技术如何让机器人更“人性化”,特别是在厨房等复杂场景中的应用。通过动作分块(Action Chunking)和时态融合(Temporal Ensemble)技术,机器人能够像人类一样记忆和执行复杂任务,如烹饪。文章还分析了ACT在家庭场景中的落地挑战及其在康复医疗、柔性制造等领域的跨领域应用潜力。

weixin_30613343的博客 255

折线(Polyline)、多边形(Polygon)

Polyline Playline所绘制的图形由多个线段组成,因此它公开Points属性,它表示一系列坐标点的集合。这些点将用于描述Polyline图形中各线段相接处的顶点(包括起点和终点)。 Points集合在XAML中可以直接用字符串写上多个点,书写方法有两种: 每个坐标点之间使用至少一个空格开分隔,横坐标和纵坐标用英文的逗号分隔。 一个坐标点的横坐标与纵坐标用一个空格来分隔,这时候点与点之间就不能用单个空格来分隔了,因为这样书写会很混乱,编译器无法识别,因此点与点之间至少要用两个空格来分隔。 示

singhwong 1万+

Sigrity Power DC Package Multi-Resistor Compact ET Model Extraction模式提取封装基板电热阻模型

DIE(定义DIE的参数):material设置为silicon(硅),Attach material(贴片的材料,设置为Die Attach),Attach thickness(贴片的材料的厚度,厚度设置为0.001mm,点击ok。Cap为覆盖材料,Material定义材料类型,thickness定义厚度,length和width定义长宽,Adhesive Material为胶的材料,Adhesive Material为胶的厚度,本例不定义,跳过即可。

weixin_54787054的博客 440

形状绘图(四)

一、 Polygon:多边形 1、含义:多边形一般都是有点进行构成的。 2、多边形可分为:Polygon多边形、Polyline多线形,它们之间的区别: (1)Polygon多边形是一个闭合形,而Polyline多线形不是一个闭合形; (2)Polyline多线形的边框不会构成一个闭合形。 3、注意:Polygon多边形与Polyline多线形的属性设置是一样的。 4、属性设置: Points:获取或设置一个集合,它包含多边形的顶点。 注意:(1)一个点有X轴和Y轴组成,X轴和Y轴的中间用“逗号”进行隔开;

m0_50175138的博客 748

YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度

ASF-YOLO是一种基于YOLO的新颖框架,结合了空间和尺度特征以实现准确和快速的分割。其中,注意力尺度序列融合模块。

Limiiiing的博客 4391

嵌入式代码审计中常见的漏洞(四)

经过漫长时间的迭代更新,内容从一开始的碎片化网罗搜集,到排版与整合划分,再到学习与实践验证,最后摒弃初始,用自己的语言与实践结论通俗的将它展现出来。强化知识技能的同时也为读者带来更好的阅读体验。 本篇介绍了以下代码安全问题: 编号 漏洞 1 敏感信息硬编码 2 未初始化安全 3 越界访问 4 迭代器失效 5 迭代器尾部解引用

武天旭的博客 3318

关于Google Map 叠加层之Polyline(折线)、Polygon(多边形)、InfoWindow(信息窗口)

转载至 http://scorpio-jh.blog.sohu.com/156761136.html 示例 —————— Polyline 折线 // 1. 从雍和宫–东直门画一条折线 // 路径 var path = [ new google.maps.LatLng(39.949227017559615,116.41707632263186),

FORLOVEHUAN的博客 7111

二、TCP/IP协议之网络层(IP地址的格式、分类、报文格式)

数据报每经过一个路由器,路由器都要重新计算一下首部检验和,若首部未发生变化,则此结果必为 0,于是就保留这个数据报。对于网络号相的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。在首部的固定部分的后面是一些可选字段,其长度是可变的。IPv4 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。表示数据报在网络中的寿命,英文缩写是 TTL(Time To Live),功能是“跳数限制”。地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分。

锦慈的技术博客 185

Silverlight开发历程—(绘制矢量图之路径绘图)

路径(Path)是一种比较特殊的,用开描述比较复杂的元素,它支持绘制从简单到复杂的任意图形绘制能力。 路径标记语法 使用Path绘图需要使用它的专用路径标记语法(mini-language)。它是一种由路径指令组成的语法,使用mini-language可以产生任何形状的2D图形。下面是路径标记语法(mini-language)所支持的指令: fill...

203

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

svg动画图形绘制

svg动画图形绘制

weixin_45441173的博客 1799

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Hello earth(四)——让我们来画Polyline和Polygon吧!

写在前面:越来越水系列o(* ̄︶ ̄*)o,本来应该好好介绍一下KML的DOM,好好梳理一下Google Earth APIUtilitylibraries扩展的API,哎没那个精力,还是就写点儿Demo过了吧!我打算开启下一个系列了(#^.^#),每每回顾一年前的东西都感到头疼,现在手头主...

chunzhuojiang6003的博客 505

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SVG_4_矢量图_polyline_polygon标签_百度地图测距功能实现

知识点: polyline折线标签 polygon多边形标签 区别就是一个是非闭合,一个是闭合的。 polyline标签 虽然可以直接用line标签首尾相接画出折线,但是这样有一个缺点,就是折线交接处,会有空缺,感觉像拼接的一样,体验很差劲。 而是用polyline标签,会完美衔接,可看下图中的三个折线交接处,对比很明显。 但polyl...

知识搬运工,资料任你拿,包括书籍、电影、电视剧、网站、软件等,VX公人人人号:向前书局 1055

Raphael.js最基本绘制示例代码

Raphael Play <!-- #canvas_container { width: 500px; border: 1px solid #aaa; } -->

Jinx 3696

Polyline的问题

    polyline可以绘制不规则线段,在使用中我发现了一个问题.   大家请看代码:   &lt;Canvas&gt;    &lt;Polyline Stroke="Black"&gt;      &lt;Polyline.Points&gt;        &lt;Point X="20" Y="45"/&gt;        &lt;Point X="10

weixin_33834679的博客 493

《四》HTML5 SVG

svg><svg>

花铛 398

Polygon对象和Polyline对象的组成形式

Polygon对象:

面朝大海,春暖花开 2013

PolyPolygon, Polyline, Polygon的简单用法

BOOL Polygon(LPPOINT lpPoints, int nCount); void CExoView::OnDraw(CDC* pDC) { CPoint Pt[7]; Pt[0] = CPoint(20, 50); Pt[1] = CPoint(180, 50); Pt[2] = CPoint(180, 20); Pt[3] = CPoint(230, 70);

HelloKandy's Blog 7940
上一篇: Silverlight图形编程系列(六)-图形之Ellipse, Line, Path, Polygon, Polyline, Rectangle
下一篇: [WF4实践一] 使用 TryCatch 在 Flowchart 活动中进行错误处理
fjp813
博客等级 码龄23年 4粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值