Path的Data生成归总

2023-11-05

Path的Data数据有三种生成方式:

      1. 最简单的是用Expression Design。可以粘贴来自其它软件的矢量图形。导出时选择,文件->导出->导出属性->格式->XAML Silverlight 画布,即可得到XAML格式的矢量图形,也就是Path。

      2. 如果只是把文字转成图形,相当于印刷行业里的文字转曲,可以直接用Expression Blend。对象->路径->转换为路径,即可。

      3. 自己动手写。当然这也是最难的方式。不过对于简单图形来说非常有用。用Design生成的数据量很大,手写就会变得很简洁。

 

命令的使用方法如下:

==============================

1. 移动指令:Move Command(M):M 起始点,或者:m 起始点
      比如:M 100,240 或 m 100,240
      使用大写M时,表示绝对值; 使用小写m时; 表示相对于前一点的值,如果前一点没有指定,则使用(0,0)。

 

2. 绘制指令(Draw Command):
      (1) 直线:Line(L)
      (2) 水平直线: Horizontal line(H)
      (3) 垂直直线: Vertical line(V)
      (4) 三次方程式贝塞尔曲线: Cubic Bezier curve(C)
      (5) 二次方程式贝塞尔曲线: Quadratic Bezier curve(Q)
      (6) 平滑三次方程式贝塞尔曲线: Smooth cubic Bezier curve(S)
      (7) 平滑二次方程式贝塞尔曲线: smooth quadratic Bezier curve(T)
      (8) 椭圆圆弧: elliptical Arc(A)

      上面每种形状后用括号括起的英文字母为命令简写的大写形式,但你也可以使用小写。使用大写与小写的区别是:大写是绝对值,小写是相对值。 重复使用同 一种类型时,就可以省略前面的命令。比如:L 100,200 L 300,400简写为:L 100,200 300,400。

 

绘制指令格式语法:

(1) 直线:Line(L)
      格式:L 结束点坐标 或: l 结束点坐标。
      比如:L 100,100 或 l 100 100。坐标值可以使用x,y(中间用英文逗号隔开)或x y(中间用半角空格隔开)的形式。

(2) 水平直线 Horizontal line(H):绘制从当前点到指定x坐标的直线。
      格式:H x值 或 h x值(x为System.Double类型的值)
      比如:H 100或h 100,也可以是:H 100.00或h 100.00等形式。

(3) 垂直直线 Vertical line(V):绘制从当前点到指定y坐标的直线。
      格式:V y值 或 v y值(y为System.Double类型的值)
      比如:V 100或y 100,也可以是:V 100.00或v 100.00等形式。

(4) 三次方程式贝塞尔曲线 Cubic Bezier curve(C):通过指定两个控制点来绘制由当前点到指定结束点间的三次方程贝塞尔曲线。
      格式:C 第一控制点 第二控制点 结束点 或 c 第一控制点 第二控制点 结束点
      比如:C 100,200 200,400 300,200 或 c 100,200 200,400 300,200
      其中,点(100,200)为第一控制点,点(200,400)为第二控制点,点(300,200)为结束点。

(5) 二次方程式贝塞尔曲线 Quadratic Bezier curve(Q):通过指定的一个控制点来绘制由当前点到指定结束点间的二次方程贝塞尔曲线。
      格式:Q 控制点 结束点 或 q 控制点 结束点
      比如:q 100,200 300,200。其中,点(100,200)为控制点,点(300,200)为结束点。

(6) 平滑三次方程式贝塞尔曲线: Smooth cubic Bezier curve(S):通过一个指定点来“平滑地”控制当前点到指定点的贝塞尔曲线。
      格式:S 控制点 结束点 或 s 控制点 结束点
      比如:S 100,200 200,300

(7) 平滑二次方程式贝塞尔曲线 smooth quadratic Bezier curve(T):与平滑三次方程贝塞尔曲线类似。
      格式:T 控制点 结束点 或 t 控制点 结束点
      比如:T 100,200 200,300

(8) 椭圆圆弧: elliptical Arc(A) : 在当前点与指定结束点间绘制圆弧。
      A 尺寸 圆弧旋转角度值 优势弧的标记 正负角度标记 结束点 或: a 尺寸 圆弧旋转角度值 优势弧的标记 正负角度标记 结束点
      尺寸(Size): System.Windows.Size类型,指定椭圆圆弧X,Y方向上的半径值。
      旋转角度(rotationAngle):System.Double类型。
      圆弧旋转角度值(rotationAngle):椭圆弧的旋转角度值。
      优势弧的标记(isLargeArcFlag):是否为优势弧,如果弧的角度大于等于180度,则设为1,否则为0。
      正负角度标记(sweepDirectionFlag):当正角方向绘制时设为1,否则为0。
      结束点(endPoint):System.Windows.Point类型。
      比如:A 5,5 0 0 1 10,10

 

3. 关闭指令(close Command):用以将图形的首、尾点用直线连接,以形成一个封闭的区域。
      用Z或z表示。

      F0 指定 EvenOdd 填充规则。
      F1 指定 Nonzero 填充规则。
      如果省略此命令,则路径使用默认行为,即 EvenOdd。如果指定此命令,则必须将其置于最前面。
      EvenOdd 确定一个点是否位于填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,然后计算该射线在给定形状中因交叉而形成的路径段数。如果该数为奇数,则点在内部;如果为偶数,则点在外部。
      Nonzero 确定一个点是否位于路径填充区域内的规则,具体方法是从该点沿任意方向画一条无限长的射线,然后检查形状段与该射线的交点。从 0 开始计数,每当线段从左向右穿过该射线时加 1,而每当路径段从右向左穿过该射线时减 1。计算交点的数目后,如果结果为 0,则说明该点位于路径外部。否则,它位于路径内部。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Path的Data生成归总 的相关文章

  • InvalidOperationException - 对象当前正在其他地方使用 - 红十字

    我有一个 C 桌面应用程序 其中我连续创建的一个线程从源 实际上是一台数码相机 获取图像并将其放在 GUI 中的面板 panel Image img 上 这必须是另一个线程 如它是控件的代码隐藏 该应用程序可以工作 但在某些机器上 我会在随
  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • COCO数据集的下载、介绍及如何使用(数据载入及数据增广,含代码)

    如何使用COCO数据集 COCO数据集可以说是语义分割等计算机视觉任务中应用较为广泛的一个数据集 具体可以应用到物体识别 语义分割及目标检测等方面 我是在做语义分割方面任务时用到了COCO数据集 但本文主要讲解的是数据载入方面 因此可以通用
  • springboot 微信小程序 对接微信支付功能(完整版)

    微信小程序对接微信支付功能 业务流程时序图 JAVA版 1 项目架构 2 pom xml配置文件 3 小程序账号参数配置类 4 JAVA 通用代码 4 1 工具类 4 1 1 IdGen id生成类 4 1 2 Render 响应结果类 4
  • Springboot

    0 学习目标 了解SpringBoot的作用 掌握java配置的方式 了解SpringBoot自动配置原理 掌握SpringBoot的基本使用 了解Thymeleaf的基本使用 1 了解SpringBoot 在这一部分 我们主要了解以下3个
  • CUDA编程第四章: 全局内存

    前言 本章内容 学习CUDA内存模型 CUDA内存管理 全局内存编程 探索全局内存访问模式 研究全局内存数据布局 统一内存编程 最大限度地提高全局内存吞吐量 在上一章中 你已经了解了线程是如何在GPU中执行的 以及如何通过操作线程束来优化核
  • 【Seq2Seq】压缩填充序列、掩蔽、推理和 BLEU

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Openstack云平台脚本部署之Aodh告警服务配置(十三)

    目录 一 简介 二 部署脚本 三 参考文档 四 源码 五 系列文章 一 简介 Openstack告警服务Aodh负责当收集的数据度量或事件超过所设定的阈值时 会出发报警 从Liberty 版本后从Ceilometer 中拆分出来 独立为单独
  • java把图片url地址转为图片文件并打包压缩下载

    序言 最近做项目时遇到一个需求就是把上传到oss上的图片批量压缩下载 众所周知 上传到oss的图片返回保存的是url地址 而url是无法直接下载成图片的 所有中间需要转一下 下面是我写的一个工具类 纯java操作 不依赖第三方jar有需要的
  • C语言猜数字小游戏

    在大家小时候 肯定玩过猜数字的游戏 那么用代码形式输出的猜数字游戏 大家玩过吗 今天就跟随博主一起来实现这一个小游戏吧 1 我们要先思考的问题是 怎么样才能让计算机随机产生数字呢 这里推荐大家使用一个C语言函数的网站 Cplusplus 里
  • 史上最简单的 SpringCloud 教程

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net forezp article details 81040925 一 spring cl
  • vue 组件样式不生效问题,和如果更改组件样式

    我们现在的编程离不开组件的使用 例如 element ui avue 等 问题 组件的样式太过单一不满足开发的需求 还有的是组件有自己的样式更改但是找不到 解决 深层构造器 css 自带 gt gt gt gt gt gt name col
  • 如何在C#中从同步方法调用异步方法?

    我有一个public async void Foo 方法 我想从同步方法中调用它 到目前为止 我从MSDN文档中看到的所有内容都是通过异步方法调用异步方法 但是我的整个程序不是使用异步方法构建的 这有可能吗 这是从异步方法调用这些方法的一个
  • casperJs的安装

    自己买了vps就是爽 想装什么就装什么 就比如说casperjs 1 首先需要安装它的运行环境phantomjs 将这个git项目clone到自己的vps上 https github com ariya phantomjs 通过查看官方文档
  • Zookeeper实践(四)zookeeper的WEB客户端zkui使用

    前面几篇实践说明了zookeeper如何配置和部署 如何开发 因为大多是后台操作 对于维护和产品项目管理人员来说太抽象 下面介绍一下zookeeper的web客户端使用 一 环境准备 1 既然是客户端 必然得先有一个zookeeper服务
  • Class 09 - Data Frame和查看数据

    Class 09 Data Frame和查看数据 DataFrame tibbles head str colnames mutate 创建 Dataframe DataFrame 在我们开始做数据清洗或者检查数据是否存在偏差之前 我们需要
  • error: method does not override or implement a method from a supertype java:方法不会覆盖或实现超类型的方法

    错误 编译报错 error method does not override or implement a method from a supertype 即java 方法不会覆盖或实现超类型的方法 详细错误 解决方案 对超类进行继承即可
  • 交换两个变量的值的4种方法,你了解了吗?

    目录 一 引入第三变量 二 不引入第三变量 1 a a b b a b a a b 2 利用异或 3 巧妙运用优先级 总结 在我们的开发中 或者在我们平时的练习中 常常会遇到交换两个变量的值 那么如何交换两个变量的值呢 可能很多初学者都只知
  • 区块链四级知识考试

    区块链知识四级考试 考试时间30分钟 总分100分 请认真作答 出题人及监考老师 高志豪 请转载者注明 谢谢支持 一 单选题 每题5分 共40分 1 加密数字货币如果设置过短的确认时间会更容易导致什么出现 A 高效率 B 低效率 C 孤块
  • C/C++:C/C++在大数据时代的应用,以及C/C++程序员未来的发展路线

    目录 1 C C 在大数据时代的应用 1 1 C C 数据处理 1 2 C C 数据库 1 3 C C 图像处理和计算机视觉 1 3 1 导读 2 C C 程序员未来的发展路线 2 1 图导 1 C C 在大数据时代的应用 C C 在大数据
  • 三. go 常见数据结构实现原理之 silce

    目录 一 基础 几个小问题 1 题目一 2 题目二 3 题目三 4 数组和切片陷阱 二 Slice实现原理 切片的创建与底层结构 append 与切片的扩容 切片的值传递引用传递 切片再切片 特殊切片 切片的 Copy 总结 一 基础 为什
  • Path的Data生成归总

    Path的Data数据有三种生成方式 1 最简单的是用Expression Design 可以粘贴来自其它软件的矢量图形 导出时选择 文件 gt 导出 gt 导出属性 gt 格式 gt XAML Silverlight 画布 即可得到XAM