如果你觉得前面所讨论的绘制各种几何图形的方法过于复杂,那么,今天我们也来一次“减负”吧。当然,我们是很轻松的,本教程是不用考试的,也不会班级排名,仅仅为读者朋友们提供一种思路罢了。
本节我们聊一下路径标记法,有了这个东东,你会觉得绘制路径会轻松了不少,事不宜迟,路径标记法到底有多方便,先看一个实例再说吧。
<Path VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
Stroke="LightGreen" StrokeThickness="6"
Data="M12,2 L35,28 175,69 H80 V260 M185,400 C60,40 135,100 300,250" />
看看效果图。
怎么样?是不是简洁了许多?
一、移动指令
这个好理解,就是移动到某个点,接下来绘制的一系列图形以该点作为起点,语法如下:
M<点坐标>或m<点坐标>
M表示绝对定位,m表示相对于上一个点的偏移量,如果移动指令后接着多个点,则会创建连接这些点的直线,看下面的例子。
<Path HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stroke="Yellow" StrokeThickness="6"
Data="M50,26 124,39 220,97 m200,145 95,335"/>
先看运行效果。
注意上面的M与m的区别,距离上一个结束点X轴+200,Y轴+145的地方,也就是一个偏移量。
二、绘制指令
这里我仅仅列举几个例子,具体内容大家可以参考MSDN。
1、绘制直线。
语法:
L <结束点>或l <结束点>
例子:
<Path HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stroke="Yellow"
StrokeThickness="6"
Data="M21,15 L30,17 200,79 150,300 160,410"/>
运行效果。
2、贝塞尔曲线
(1)三次方贝塞尔曲线
语法:C 控制点1 控制点2 终点 ,或c 控制点1 控制点2 终点。
例子:
<Path HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stroke="Yellow"
StrokeThickness="6"
Data="M10,5 C60,75 150,160 30,200"/>
(2)二次贝塞尔曲线
语法:Q 控制点 终点 或 q 控制点 终点
例子:
<Path HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stroke="Yellow"
StrokeThickness="6"
Data="M10,5 Q200,55 200,385"/>
3、绘制弧线
语法:
A
size rotationAngle
isLargeArcFlag sweepDirectionFlag
endPoint
- 或 -
a
size rotationAngle
isLargeArcFlag sweepDirectionFlag
endPoint
size:圆弧的大小,X表示X轴上的半径长度,Y表示Y轴上的半径度度。
rotationAngle:圆弧的角度。
isLargeArcFlag:如果弧线的角度应大于或等于 180 度,则设置为 1;否则设置为 0。
sweepDirectionFlag:如果弧线按照正角方向绘制,则设置为 1;否则设置为 0。
endPoint:终点。
例子:
<Path HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Stroke="Yellow"
StrokeThickness="6"
Data="M10,30 A185,230 90 0 1 200,435"/>
也许你会发现,尽管使用这种方法,但是画起图来也是不方便,现在,我明白我为什么不重点叙述这些内容的原因了,对于XAML手动构图,我只是简单带过,在实际开发中,效率不高,而且难度较大。
下一节中,我向大家介绍一种更简单的绘图方案。
分享到:
相关推荐
整体来说,该系列书籍是为初学者提供了从零开始学习Windows Phone 8应用开发的完整路径,每一步都清晰地指导读者理解Windows Phone 8应用开发的基本概念和实践操作。无论是理解XAML的语法,还是学习布局和样式设计,...
《Addison.Wesley.Windows.Phone.7.for.iPhone.Developers.Jul.2011》这本书主要针对那些已经熟悉iPhone开发的程序员,旨在帮助他们快速掌握Windows Phone 7平台的开发技能。这本书由Addison-Wesley出版,通常会包含...
标题中的“iPhone Google地图开发程序”指的是在iOS平台上利用Google Maps API进行应用程序开发的技术。这一主题涵盖了许多重要的知识点,对于想要进入iOS开发领域的初学者来说是必不可少的学习内容。以下是关于这个...
101在教育领域常用于标记初级课程,意味着这些资源将涵盖iOS开发的基础概念,帮助新手快速建立开发基础知识体系。 压缩包子文件的文件名称“51CTO下载-iPhone_RuMen-JingTong_2011.06.pdf”表明这可能是一份来自51...
在本资源中,“iPhone开发实战 书本源码”提供了从第1章到第20章的完整学习路径,旨在帮助开发者深入理解iOS应用开发。这个压缩包包含了一系列与iOS开发相关的Objective-C代码,适用于那些想要提升iOS编程技能或者...
7. **核心定位与地图服务**:Title Lecture 11 Core Location Map Kit讲解了如何集成GPS功能,获取用户位置,并利用MapKit展示地图、路径和标记。 8. **设备开发**:Title Section 3 Developing on Devices提供了在...
标题:适合初学者的Windows Phone 8开发指导 在深入探讨Windows Phone 8(以下简称WP8)的开发之前,我们首先要理解,这份资料是专为编程新手设计的,旨在通过一系列教程引导他们从零开始掌握WP8应用开发的核心概念...
- **Swift或Objective-C简介**:深入学习Swift或Objective-C编程语言的基础语法,包括变量、数据类型、控制结构等。 - **代码组织与结构**:如何有效地组织代码,使用类、函数等概念来构建清晰、易于维护的应用程序...
9. **MapKit**和**Location Services**:提供地图和定位服务,源代码可能包含如何添加自定义标记、路径规划和实时定位的应用。 10. **WebKit**:用于在应用内展示网页内容,源码可能有加载HTML、CSS和JavaScript,...
学习如何创建自定义地图标记、路径规划以及处理定位权限。 9. **手势识别**:文件11可能讲解了如何使用UIPanGestureRecognizer、UITapGestureRecognizer等手势识别器,以增强用户交互性。 10. **推送与本地通知**...
HTML(HyperText Markup Language)是网页开发的基础语言,它通过标记式语法来构建网页结构并描述内容。 在PC端和Phone端的适配性方面,此HTML文件很可能采用了响应式设计(Responsive Web Design,RWD)。响应式...
虽然现在大部分现代移动应用开发倾向于使用Android或iOS平台的原生语言,如Java、Kotlin或Swift,但在早期,C#通过.NET Compact Framework也用于开发Windows Mobile设备上的应用,包括WAP应用。C#是一种强类型、面向...
XAML(eXtensible Application Markup Language)是一种声明式标记语言,主要用于构建Windows Presentation Foundation (WPF)、Windows Store apps、UWP(Universal Windows Platform)以及Silverlight等.NET ...
GMap.NET是一个跨平台的地图控件,支持WPF、Windows Forms、WinRT、Windows Phone、ASP.NET和Silverlight。它提供了丰富的地图操作功能,包括平移、缩放、标记定位、路线规划等。开发者可以利用这个库轻松地在自己...
6. 在Windows操作系统中,“我的电脑”和“资源管理器”是用来管理计算机资源的两个程序组。正确答案:C。 7. 微型计算机的内存是按字节编址的,这意味着每个内存位置都有一个唯一的地址。正确答案:正确。 8. ...
8. **高级主题**:可能涵盖深度学习Silverlight的高级特性,如媒体流处理、3D图形、Silverlight与Windows Phone的整合,以及Silverlight与.NET Framework的交互等。 9. **案例研究**:通过实际的企业级项目案例,...
在Windows Phone 7 (WP7)开发中,数据绑定是一个至关重要的概念,它极大地简化了UI(用户界面)与后台数据之间的交互。本教程将深入讲解WP7中的数据绑定,帮助开发者更好地理解和应用这一功能。 数据绑定是软件设计...
- **路径绘制**:在地图上绘制路径和标记。 #### 十七、静态表视图、图像选择器和约束 静态表视图是一种特殊的表视图形式,用于展示固定的数据集。本章节将介绍如何使用静态表视图,并探讨如何集成图像选择器: -...
42. **BECN (Backward Congestion Indication)**:向后拥塞比特,一种用于标记网络中反向路径拥塞的机制。 43. **B-ISDN (Broadband Integrated Service Digital Network)**:宽带ISDN,一种能够处理多种类型数据的...