`
mmdev
  • 浏览: 13237334 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Windows Phone开发(34):路径标记语法

 
阅读更多

如果你觉得前面所讨论的绘制各种几何图形的方法过于复杂,那么,今天我们也来一次“减负”吧。当然,我们是很轻松的,本教程是不用考试的,也不会班级排名,仅仅为读者朋友们提供一种思路罢了。

本节我们聊一下路径标记法,有了这个东东,你会觉得绘制路径会轻松了不少,事不宜迟,路径标记法到底有多方便,先看一个实例再说吧。

        <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手动构图,我只是简单带过,在实际开发中,效率不高,而且难度较大。

下一节中,我向大家介绍一种更简单的绘图方案。

分享到:
评论

相关推荐

    Absolute Beginners Series For Windows Phone8

    整体来说,该系列书籍是为初学者提供了从零开始学习Windows Phone 8应用开发的完整路径,每一步都清晰地指导读者理解Windows Phone 8应用开发的基本概念和实践操作。无论是理解XAML的语法,还是学习布局和样式设计,...

    Addison.Wesley.Windows.Phone.7.for.iPhone.Developers.Jul.2011.rar

    《Addison.Wesley.Windows.Phone.7.for.iPhone.Developers.Jul.2011》这本书主要针对那些已经熟悉iPhone开发的程序员,旨在帮助他们快速掌握Windows Phone 7平台的开发技能。这本书由Addison-Wesley出版,通常会包含...

    iphone goole地图开发程序

    标题中的“iPhone Google地图开发程序”指的是在iOS平台上利用Google Maps API进行应用程序开发的技术。这一主题涵盖了许多重要的知识点,对于想要进入iOS开发领域的初学者来说是必不可少的学习内容。以下是关于这个...

    iphone开发

    101在教育领域常用于标记初级课程,意味着这些资源将涵盖iOS开发的基础概念,帮助新手快速建立开发基础知识体系。 压缩包子文件的文件名称“51CTO下载-iPhone_RuMen-JingTong_2011.06.pdf”表明这可能是一份来自51...

    iphone开发实战 书本源码

    在本资源中,“iPhone开发实战 书本源码”提供了从第1章到第20章的完整学习路径,旨在帮助开发者深入理解iOS应用开发。这个压缩包包含了一系列与iOS开发相关的Objective-C代码,适用于那些想要提升iOS编程技能或者...

    iOS程序开发教程(PPT+代码)

    7. **核心定位与地图服务**:Title Lecture 11 Core Location Map Kit讲解了如何集成GPS功能,获取用户位置,并利用MapKit展示地图、路径和标记。 8. **设备开发**:Title Section 3 Developing on Devices提供了在...

    AbsoluteBeginnersSeriesForWindowsPhone8.pdf(英文版)

    标题:适合初学者的Windows Phone 8开发指导 在深入探讨Windows Phone 8(以下简称WP8)的开发之前,我们首先要理解,这份资料是专为编程新手设计的,旨在通过一系列教程引导他们从零开始掌握WP8应用开发的核心概念...

    iPhone and iPad Apps for Absolute Beginners

    - **Swift或Objective-C简介**:深入学习Swift或Objective-C编程语言的基础语法,包括变量、数据类型、控制结构等。 - **代码组织与结构**:如何有效地组织代码,使用类、函数等概念来构建清晰、易于维护的应用程序...

    iOS 8应用开发实战-205个快速上手的开发技巧源代码

    9. **MapKit**和**Location Services**:提供地图和定位服务,源代码可能包含如何添加自定义标记、路径规划和实时定位的应用。 10. **WebKit**:用于在应用内展示网页内容,源码可能有加载HTML、CSS和JavaScript,...

    ios高级开发代码实例

    学习如何创建自定义地图标记、路径规划以及处理定位权限。 9. **手势识别**:文件11可能讲解了如何使用UIPanGestureRecognizer、UITapGestureRecognizer等手势识别器,以增强用户交互性。 10. **推送与本地通知**...

    个人主页介绍html-适配pc端、phone端

    HTML(HyperText Markup Language)是网页开发的基础语言,它通过标记式语法来构建网页结构并描述内容。 在PC端和Phone端的适配性方面,此HTML文件很可能采用了响应式设计(Responsive Web Design,RWD)。响应式...

    wap入门源码(c#)

    虽然现在大部分现代移动应用开发倾向于使用Android或iOS平台的原生语言,如Java、Kotlin或Swift,但在早期,C#通过.NET Compact Framework也用于开发Windows Mobile设备上的应用,包括WAP应用。C#是一种强类型、面向...

    XAML入门精通资料

    XAML(eXtensible Application Markup Language)是一种声明式标记语言,主要用于构建Windows Presentation Foundation (WPF)、Windows Store apps、UWP(Universal Windows Platform)以及Silverlight等.NET ...

    GMAP最新源代码

    GMap.NET是一个跨平台的地图控件,支持WPF、Windows Forms、WinRT、Windows Phone、ASP.NET和Silverlight。它提供了丰富的地图操作功能,包括平移、缩放、标记定位、路线规划等。开发者可以利用这个库轻松地在自己...

    2021-2022计算机二级等级考试试题及答案No.2360.docx

    6. 在Windows操作系统中,“我的电脑”和“资源管理器”是用来管理计算机资源的两个程序组。正确答案:C。 7. 微型计算机的内存是按字节编址的,这意味着每个内存位置都有一个唯一的地址。正确答案:正确。 8. ...

    Pro Silverlight For The Enterprise(PDF完整版本)

    8. **高级主题**:可能涵盖深度学习Silverlight的高级特性,如媒体流处理、3D图形、Silverlight与Windows Phone的整合,以及Silverlight与.NET Framework的交互等。 9. **案例研究**:通过实际的企业级项目案例,...

    wp7数据绑定讲解,非常全面

    在Windows Phone 7 (WP7)开发中,数据绑定是一个至关重要的概念,它极大地简化了UI(用户界面)与后台数据之间的交互。本教程将深入讲解WP7中的数据绑定,帮助开发者更好地理解和应用这一功能。 数据绑定是软件设计...

    Beginning iOS 10 with Swift

    - **路径绘制**:在地图上绘制路径和标记。 #### 十七、静态表视图、图像选择器和约束 静态表视图是一种特殊的表视图形式,用于展示固定的数据集。本章节将介绍如何使用静态表视图,并探讨如何集成图像选择器: -...

    网络工程师必备英语词汇

    42. **BECN (Backward Congestion Indication)**:向后拥塞比特,一种用于标记网络中反向路径拥塞的机制。 43. **B-ISDN (Broadband Integrated Service Digital Network)**:宽带ISDN,一种能够处理多种类型数据的...

Global site tag (gtag.js) - Google Analytics