09——path的使用

news2024/12/25 15:39:53

一、path 是 svg 中最强大的图形

  • 用于定义一个 路径
  • 所有命令均允许小写字母。大写 表示绝对定位小写 表示 相对定位 (相对于上一个结束的坐标)
  • d 属性中包含所有路径的点,可根据命令缩写 自由组合
     命令            名称                                参数
      M           moveto  移动到                        (x y)+
      Z          closepath  关闭路径                    (none)
      L           lineto  画线到                        (x y)+
      H          horizontal lineto  水平线到              x+
      V          vertical lineto  垂直线到                y+
      A        elliptical arc椭圆弧                    (rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
      C        curveto 三次贝塞尔曲线到                 (x1 y1 x2 y2 x y)+
      S     smooth curveto光滑三次贝塞尔曲线到          (x2 y2 x y)+
      Q        Bézier curveto二次贝塞尔曲线到           (x1 y1 x y)+
      T     smooth Bézier curveto光滑二次贝塞尔曲线到     (x y)+

二、M、L、H、V 简单使用总结

  • M 作为起点,Z 作为结束
  • + 表示一次或多次
  • M 移动画笔,若有多个参数,会当做是 L 命令处理(画线)
  • L 画直线;H 移动水平位置;V 移动垂直位置
  • L 绘制直线到指定位置; l 从当前绘制直线移动多少多少
  • H 绘制水平线到指定位置;h 从当前绘制长度为多少的水平线
  • V 绘制竖直线到指定位置;v 从当前绘制长度为多少的竖直线
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1000" height="1000">
    <path d="M 150 0 L 0 150 L 300 150 Z" fill="pink" />
    <path d="M 150 0 l 0 150 H 300 Z" fill="pink" />
</svg>

在这里插入图片描述
在这里插入图片描述

三、圆弧

  • A rx ry x-axis-rotation large-arc-flag sweep-flag x y
  • 最复杂的命令
  • rx ry 表示 x轴半径y轴半径
  • x-axis-rotation 表示 x轴旋转角度
  • large-arc-flag 表示弧线 是否大于180度 (1 是大弧线,0 是小弧线)
  • sweep-flag 表示 弧线方向 ( 0为沿逆时针,1为沿顺时针 )
  • x y 最终坐标
  <!-- x转旋转角度 -->
  <svg width="1000" height="400">
    <path d="M 200 200 A 150 100 0  1 1 300 300" stroke="red" fill="none"> </path>
  </svg>
  <svg width="1000" height="400">
    <path d="M 200 200 A 150 100 10 1 1 300 300" stroke="red" fill="none"> </path>
  </svg>
  <svg width="1000" height="400">
    <path d="M 200 200 A 150 100 100 1 1 300 300" stroke="red" fill="none"> </path>
  </svg>
  <svg width="1000" height="400">
    <path d="M 200 200 A 150 100 200 1 1 300 300" stroke="red" fill="none"> </path>
  </svg>
  <svg width="1000" height="400">
    <path d="M 200 200 A 150 100 300 1 1 300 300" stroke="red" fill="none"> </path>
  </svg>

在这里插入图片描述
在这里插入图片描述

<!-- 可自行修改  large-arc-flag、sweep-flag查看  -->
<svg width="1000" height="400">
  <path d="M 200 200 A 150 100, 0, 1, 1, 300 300" fill="green" />
</svg>

在这里插入图片描述

四、贝塞尔曲线

  • 首先是理解贝塞尔曲线的原理,然后套用使用参数即可
  • 由于数学原理相对复杂,这里不做过多介绍,放上两张图便于理解
  • 二次贝塞尔曲线 ,一个起点、一个终点、一个控制点

在这里插入图片描述

  • 三次贝塞尔曲线 ,一个起点、一个终点、两个控制点

在这里插入图片描述

  • 可依次解开代码查看,效果如下
<svg width="1000" height="400">

      <!-- 二次贝塞尔曲线 Q -->
      <path id="lineAB" d="M 100 350 l 150 -300" stroke="red" stroke-width="3" fill="none" />
      <path id="lineBC" d="M 250 50 l 150 300" stroke="red" stroke-width="3" fill="none" />
      <path d="M 175 200 l 150 0" stroke="green" stroke-width="3" fill="none" />
      <path d="M 100 350 q 150 -300 300 0" stroke="blue" stroke-width="5" fill="none" />

      <!-- 光滑二次贝塞尔曲线 T -->
      <!-- <path d="M20 80 Q90 140, 130 80 T250 140 T350 40 " stroke="#000000" fill="none" style="stroke-width: 2;"/> -->

      <!-- 三次贝塞尔曲线 C -->
      <!-- <path d="M20 20 C90 140,130 140,200 25" stroke="#000000" fill="none" style="stroke-width: 2;"/> -->

      <!-- 光滑三次贝塞尔曲线 S -->
      <!-- <path d="M20 80 C90 140, 130 140, 180 80 S250 60, 280 120" stroke="#000000" fill="none" style="stroke-width: 2;"/> -->

</svg>

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows 11 反转鼠标和触摸板滚动方向

如果在使用 Windows 10 设备时不喜欢鼠标或触摸板的「下滚上移&#xff0c;上滚下移」方式&#xff0c;可以通过调整「Windows 设备」或更改注册表 2 种方式来反转滚动方向。 下面就为大家介绍详细步骤。 Windows 11反转触摸板滚动方向 要通过调整「Windows 设置」反转触摸板…

企业为什么需要一套CRM系统进行销售管理

随着市场竞争的日益激烈和消费者的日益挑剔&#xff0c;企业要想在市场中取得优势地位&#xff0c;就需要通过有效的销售管理来提高销售业绩。而CRM系统作为企业实现销售管理的最佳选择&#xff0c;越来越受到企业的重视和关注。 一、CRM系统的优势 1. 提高销售流程管理效率 C…

车载AUTOSAR和OSEK关系及网络管理的异同(NM)

AUTOSAR和OSEK关系及网络管理比较 AUTOSAR和OSEK关系及网络管理比较 AUTOSAR和OSEK关系及网络管理比较AUTOSAR与OSEK的关系AUTOSARAUTOSAR架构和标准的目标是&#xff1a;AUTOSAR架构的主要特点是&#xff1a;AUTOSAR标准有四个核心内容&#xff1a; OSEK其特点主要有以下几个方…

基于SSM+JSP的高校学生健康档案管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【ChatGPT】ChatGPT-5 到底有多强?

目录 1、ChatGPT-5 到底有多强2、技术方向3、系统特点4、系统应用5、ChatGPT-5为什么停止训练&#xff1f; 1、ChatGPT-5 到底有多强 OpenAI 最新的自然语言处理技术 ChatGPT-5 近期发布&#xff0c;拥有过去版本的一系列升级和改进。那么&#xff0c;在 ChatGPT-4 强大的基础…

STM32 调试TM7711驱动原理图驱动代码

本文使用工程代码如下 (1条消息) STM32调试TM7711驱动原理图驱动源代码&#xff0c;参考如下博客&#xff0c;有原理图设计资源-CSDN文库 背景 项目选用TM7711&#xff0c;还是很令人吃惊的&#xff0c;主要是有如下几个理由 第一就是便宜 第二精度高 STM32的ADC精度不够…

STM32 学习笔记_8 定时器中断:输入捕获

输入捕获 输入引脚发生跳变时&#xff0c;cnt的值会被记录到ccr中&#xff0c;可以用于测量pwm信号等。配置成pwmi模式还可以同时测量频率和占空比。主从触发模式可以实现硬件全自动测量。 高级定时器和通用定时器才有的功能。 这个功能只能测数字信号&#xff0c;对于a信号…

【k8s概念】一文搞懂k8s核心概念,吐血整理~两万字~!!!

文章目录 1. k8s简介1.1 k8s概念1.2 作用/功能 2. k8s集群搭建方式3. k8s核心组件3.1 Master Node&#xff08;控制平面组件&#xff09;3.2 Worker Node 4. k8s核心概念4.1 容器4.2 工作负载——Pod4.3 Pod控制器4.3.1 ReplicationController(RC)4.3.2 ReplicaSet(RS)4.3.3 De…

四大关键举措高效管控企业税务风险

税务风险是指企业在税务管理中&#xff0c;由于涉税行为因未能正确有效地遵守税法规定&#xff0c;而导致企业出现经济损失以及企业形象受损。企业税务风险的来源主要有两方面&#xff1a;第一&#xff0c;企业的纳税行为不符合税收法律法规的规定或对相关的税务政策未能全面理…

隐私计算论文合集「多方安全计算系列」第一期

当前&#xff0c;隐私计算领域正处于快速发展的阶段&#xff0c;涌现出了许多前沿的SOTA算法和备受关注的顶会论文。为了方便社区小伙伴学习最新算法、了解隐私计算行业最新进展和应用&#xff0c;隐语开源社区在GitHub创建了Paper推荐项目awesome-PETs&#xff08;PETs即Priva…

生态伙伴 | 硬创大赛新起航!携手华强科创广场,助力硬科技创业者

01 大赛介绍 中国硬件创新创客大赛始于2015年&#xff0c;由深圳华秋电子有限公司主办&#xff0c;至今已经成功举办八届&#xff0c;赛事范围覆盖华南、华东、华北三大地区&#xff0c;超10个省市区域。 大赛影响了超过45万工程师群体&#xff0c;吸引了35000多名硬创先锋报…

markdown神器 -Typora使用教程笔记2023最新版

文章目录 前言一、下载安装包和魔法工具二、第一步 选择为所有人安装三、第二步 创建桌面快捷方式四、第四步 安装五、第五步 完成安装六、第六步 取消勾选自动更新七、第七步 将魔法文件放在安装路径的根目录八、第八步 恭喜你&#xff0c;激活完成总结魔法工具获取方式 前言 …

{嵌入式操作系统}我国为什么要自主研发国产嵌入式操作系统

嵌入式操作系统不同于传统的桌面操作系统&#xff0c;用户不能直接执行它们&#xff0c;不同于桌面操作系统的无处不在&#xff0c;嵌入式操作系统隐藏在我们的视野之外&#xff0c;很多人甚至不知道它们的存在。 什么是嵌入式操作系统&#xff0c;它与非嵌入式操作系统有何不…

整合营销和内容营销哪个好,有什么区别

如果想做自媒体运营&#xff0c;不管是品牌还是个体从业者&#xff0c;其实都要学会如何去营销。这个也分为很多种方式&#xff0c;比如整合营销和内容营销。今天&#xff0c;来和大家谈谈整合营销和内容营销哪个好&#xff0c;如何才能将他们应用好? 要想回答这个问题&#x…

Linux实操篇---常用的基本命令4(磁盘查看和分区类)

一、磁盘查看和分区类 du查看文件和目录占用的磁盘空间 du&#xff1a;disk usage 磁盘占用情况 基本语法&#xff1a; du 目录/文件 显示目录下每个字母里的磁盘使用情况选项说明&#xff1a; 选项功能-h以人们较易阅读的GBytes&#xff0c;MBytes&#xff0c;KBytes等…

android waklock锁阻止休眠调试

上层wakelock 锁获取 adb shell dumpsys powerLooper state:Looper (PowerManagerService, tid 30) {aabc9c2}Message 0: { when42s654ms what4 targetcom.android.server.power.PowerManagerService$PowerManagerHandler }Message 1: { when9m39s94ms what1 targetcom.android…

一种通用的业务监控触发方案设计 | 京东云技术团队

一、背景 业务监控是指通过技术手段监控业务代码执行的最终结果或者状态是否符合预期&#xff0c;实现业务监控主要分成两步&#xff1a;一、在业务系统中选择节点发送消息触发业务监控&#xff1b;二、系统在接收到mq消息或者定时任务调度时&#xff0c;根据消息中或者任务中…

【Python Matplotlib】零基础也能轻松掌握的学习路线与参考资料

Python Matplotlib是一个流行的数据可视化工具&#xff0c;可以帮助数据科学家和分析师更好地理解数据。本文将介绍Python Matplotlib的学习路线&#xff0c;参考资料和优秀实践。 文章目录 一、Python Matplotlib的学习路线二、Python Matplotlib参考资料三、Python Matplotl…

ChatGPT的使用体验及教程

ChatGPT对社会带来了什么影响&#xff1f; ChatGPT的出现对社会产生了广泛的影响&#xff0c;主要体现在以下几个方面&#xff1a; ① 提升了人工智能领域的发展水平&#xff1a;ChatGPT在最初发布时获得了广泛的关注&#xff0c;并受到了人工智能领域专家和研究者的高度评价。…

OpenGL实战-调试

glGetError() OpenGL文档&#xff0c;可以查询函数出现的错误的对应原因。  默认情况下glGetError只会打印错误数字&#xff0c;如果你不去记忆的话会非常难以理解。通常我们会写一个助手函数来简便地打印出错误字符串以及错误检测函数调用的位置。 GLenum glCheckError_(co…