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

简介: 原文: Windows Phone开发(34):路径标记语法 如果你觉得前面所讨论的绘制各种几何图形的方法过于复杂,那么,今天我们也来一次“减负”吧。当然,我们是很轻松的,本教程是不用考试的,也不会班级排名,仅仅为读者朋友们提供一种思路罢了。
原文: 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手动构图,我只是简单带过,在实际开发中,效率不高,而且难度较大。

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

 

 

目录
相关文章
|
6天前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
|
6天前
|
JavaScript Windows Python
Windows DOS进入指定盘符(磁盘路径)
Windows DOS进入指定盘符(磁盘路径)
66 1
|
6天前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
23 1
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
6天前
|
前端开发 Linux iOS开发
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
【4月更文挑战第30天】Flutter扩展至桌面应用开发,允许开发者用同一代码库构建Windows、macOS和Linux应用,提高效率并保持平台一致性。创建桌面应用需指定目标平台,如`flutter create -t windows my_desktop_app`。开发中注意UI适配、性能优化、系统交互及测试部署。UI适配利用布局组件和`MediaQuery`,性能优化借助`PerformanceLogging`、`Isolate`和`compute`。
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
|
6天前
|
编解码 Linux Windows
FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx
本文档介绍了在Windows环境下如何为FFmpeg集成libopus和libvpx库。首先,详细阐述了安装libopus的步骤,包括下载源码、配置、编译和安装,并更新环境变量。接着,同样详细说明了libvpx的安装过程,注意需启用--enable-pic选项以避免编译错误。最后,介绍了重新配置并编译FFmpeg以启用这两个库,通过`ffmpeg -version`检查是否成功集成。整个过程参照了《FFmpeg开发实战:从零基础到短视频上线》一书的相关章节。
30 0
FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx
|
6天前
|
编解码 Linux Windows
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
在Windows环境下,为FFmpeg集成音频编解码库,包括libogg、libvorbis和opencore-amr,涉及下载源码、配置、编译和安装步骤。首先,安装libogg,通过配置、make和make install命令完成,并更新PKG_CONFIG_PATH。接着,安装libvorbis,同样配置、编译和安装,并修改pkgconfig文件。之后,安装opencore-amr。最后,重新配置并编译FFmpeg,启用ogg和amr支持,通过ffmpeg -version检查是否成功。整个过程需确保环境变量设置正确,并根据路径添加相应库。
32 1
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
|
6天前
|
Linux 编译器 C语言
FFmpeg开发笔记(二)搭建Windows系统的开发环境
在Windows上学习FFmpeg通常较困难,但通过安装预编译的FFmpeg开发包可以简化流程。首先需要安装MSYS2来模拟Linux环境。下载并执行MSYS2安装包,然后修改msys2_shell.cmd以继承Windows的Path变量。使用pacman安装必要的编译工具。接着,下载预编译的FFmpeg Windows包,解压并配置系统Path。最后,在MSYS2环境中运行`ffmpeg -version`确认安装成功。欲深入学习FFmpeg开发,推荐阅读《FFmpeg开发实战:从零基础到短视频上线》。
40 4
FFmpeg开发笔记(二)搭建Windows系统的开发环境
|
6天前
|
数据可视化 数据库 C++
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
123 0
|
6天前
|
移动开发 API 开发者
windows开发技术 mfc浅谈
windows开发技术 mfc浅谈
|
6天前
|
C# 数据安全/隐私保护 开发者
Windows平台RTMP推送|轻量级RTSP服务录像模块如何支持中文路径?
Windows平台RTMP推送|轻量级RTSP服务录像模块如何支持中文路径?