当前位置: 首页 > news >正文

C#--SVG矢量图画法示例

1.代码示例

<Viewbox   Grid.Column="1" Grid.ColumnSpan="1" Grid.RowSpan="1" >
   <Path Name="ValveShape" Stroke="Black"   Data="M 50,0 L 150,200 L 50,200 L 150,0 Z" Width="200" Height="200" StrokeThickness="1"
                        Fill="SteelBlue"  />
</Viewbox >

2.释义

Data="M 50,0 L 150,200 L 50,200 L 150,0 Z": 定义了路径的数据,描述了构成阀门形状的各个点和线段。这里是用SVG路径数据格式编写的,从(50,0)点开始,到(150,200),再到(50,200),然后到(150,0),最后闭合(Z)形成一个四边形。

3.成图效果

补充:

在XAML路径数据上下文中,ML 是用于定义路径命令的字符,它们属于SVG路径数据语法的一部分,广泛应用于矢量图形描述,包括在XAML中定义形状。这些命令指示如何从一个点移动到另一个点以及如何绘制直线。具体来说:

  • Mm 表示 Move To 命令。它用于将绘图的当前位置移动到指定的坐标,不绘制任何东西。大写字母 M 表示绝对坐标,小写字母 m 表示相对于当前位置的相对坐标。

  • Ll 表示 Line To 命令。用于从当前点画一条直线到指定的坐标。同样地,大写字母 L 使用绝对坐标,小写字母 l 使用相对坐标。

例如,在路径数据 "M 50,0 L 150,200" 中,M 50,0 首先将绘图笔移动到坐标 (50, 0),然后 L 150,200 从上一个点画一条直线到坐标 (150, 200)。

此外Z z 命令代表 ClosePath,用于关闭一个子路径,即从当前点绘制一条直线回到子路径的起始点。这在绘制封闭图形时非常有用,如圆形、矩形等。

相关文章:

  • 绿色智能:AI机器学习在环境保护中的深度应用与实践案例
  • 5g和2.4g频段有什么区别
  • Proteus与Multisim哪款更适合51单片机仿真?
  • 数据结构:内核kfifo的实践
  • 【WSN覆盖优化】基于灰狼优化算法的无线传感器网络覆盖 GWO-WSN覆盖优化【Matlab代码#74】
  • MySQL 用来查询表结构的 SQL 语句
  • AOP 切面判断 token 是否有效
  • OpenAI的Whisper
  • Vue3学习01 Vue3核心语法
  • 大语言模型的指令调优:综述
  • 基于STM32的智能交通系统设计与实现
  • 液冷方式介绍
  • 在Debian 12系统上安装Docker
  • 专业级股票交易系统 股票金融平台 带新股申购 通信达源码
  • three.js尝试渲染gbl模型成功!(三)
  • unable to find a medium containing a live file system解决办法!
  • 深入浅出 -- 系统架构之负载均衡Nginx的性能优化
  • 深入浅出 -- 系统架构之负载均衡Nginx反向代理
  • Go语言map、slice、channel底层实现(go面试)
  • Harmony鸿蒙南向驱动开发-DAC
  • 荣盛发展股东所持1.17亿股将被司法拍卖,起拍价约1.788亿元
  • 奔驰一季度利润降四成,受美国加征关税影响放弃全年盈利展望
  • 铁路迎来节前出行高峰,今日全国铁路预计发送旅客1870万人次
  • 李铁案二审今日宣判,押送警车已进入法院
  • 五月院线片单:就看五一档表现了
  • 法治日报调查直播间“杀熟”乱象:熟客越买越贵,举证难维权不易