热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

svg之path

svg之path1.path标签用法:给出一个坐标点,在坐标点前添加一个英文字母,表示是如何移动到此坐标点2.path标签格式

svg之path


1.path标签用法:

  给出一个坐标点,在坐标点前添加一个英文字母,表示是如何移动到此坐标点

2.path标签格式:

  1).水平坐标和垂直坐标使用,隔开
  2).多个坐标点之间使用空格
  3).坐标点前添加一个英文字母
  4).水平坐标和垂直坐标之间可以使用,或者空格隔开 但是推荐使用,隔开

3. 英文字母按照功能可分为3大类:


3.1 移动和直线类

   1) M(x,y)+ 将画笔移动到当前点,后面如果有重复参数,会当做L命令处理
   2) L(x,y)+ 绘制直线到指定位置
   3) H(x)+ 绘制水平线到指定的x位置
   4) V(y)+ 绘制竖直线到指定的y位置
   5) m、l、h、v使用相对位置绘制

3.2 贝塞尔曲线类

   1) C三次贝塞尔曲线
   三次贝塞尔曲线有两个中间点三条线段,cubic是三次的,立方的的意思,所以使用C命令来绘制三次贝塞尔曲线
在这里插入图片描述



   2) S光滑三次贝塞尔曲线
   S命令可以用来创建与前面一样的贝塞尔曲线,
      (1)但是,如果S命令跟在一个C或S命令后面,则它的第一个控制点会被假设成前一个命令曲线的第二个控制点的中心(镜像)对称点。只需要输入第二个控制点和结束点,即可绘制光滑三次贝塞尔曲线
      (2)如果S命令单独使用,前面没有C或S命令,那当前点将作为第一个控制点。
在这里插入图片描述



   3) Q二次贝塞尔曲线
   两次贝塞尔曲线有一个中间点,quadratic是两次的,二次方程式的意思,所以使用Q命令来进行二次贝塞尔曲线绘制。
在这里插入图片描述


   4) T光滑二次贝塞尔曲线
   与前一条二次贝塞尔曲线相连,控制点为前一条二次贝塞尔曲线控制点的对称点,只需要输入终点,即可绘制一个光滑二次贝塞尔曲线
在这里插入图片描述



3.3 弧线命令

   命令语法:Arx,ry.xr,laf,sf,x,y
   属性解释:
      rx: 椭圆x方向的半轴大小。
      ry: 椭圆y方向的半轴大小。
      xr: 椭圆的x轴与水平轴顺时针方向的夹角(一般正圆弧这个夹角都是0度)
      laf: 有两个值(1: 大角度弧线、0: 小角度弧线)
      sf: 有两个值(1: 顺时针至终点、0: 逆时针至终点)
      x: 终点x坐标
      y: 终点y坐标

  SVG的弧线使用A(rx,ry.xr,laf,sf,x,y)命令来完成,原理是通过截取一个椭圆的弧线而得到想要的弧线,

  那么我们首先要构造一个椭圆:使用rx,ry,xr三个参数来构造这个椭圆,rx是椭圆的x半轴长,ry是y半轴长,xr是是弧线所在椭圆的长轴角度。

在这里插入图片描述

  其次,我们发现这样构造出来的椭圆其实有两种,而起点到终点的弧线有四种,所以我们需要使用laf、sf、x、y四个参数来选择想要的弧线。laf表示是否选择较长弧,sf表示是否选择逆时针方向那条弧。

在这里插入图片描述
  绘制一条弧线实例:

 

在这里插入图片描述

  示例分析:a用了小写英文字母,表示相对坐标,当前画笔位置(100,200),所以终点位置为(100+150,200-150)即(250,50)。绘制一条弧线 x和y方向半径是200和150 椭圆的x轴和水平轴方向夹角为0°,采用大角度、逆时针方向走向终点。Z表示绘制一条直线将起始点和终点连接起来,封闭图形


4.闭合类


4.1 Z 后面不跟参数,作用绘制一条直线将起始点和终点连接起来,封闭图形

  上诉命令都是用大写英文字母表示,表示坐标系中的绝对坐标,也可以用小写英文字母,表示的是相对坐标(相对于当前画笔所在点)


推荐阅读
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍超文本标记语言(HTML)的基本概念与语法结构。HTML是构建网页的核心语言,通过标记标签描述页面内容,帮助开发者创建结构化、语义化的Web页面。 ... [详细]
  • 本文探讨了如何使用自增和自减运算符遍历二维数组中的元素。通过实例详细解释了指针与二维数组结合使用的正确方法,并解答了常见的错误用法。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文介绍了如何通过设置背景形状来轻松地为 Android 的 TextView 添加圆形边框。我们将详细讲解 XML 代码的配置,包括圆角、描边和填充等属性。 ... [详细]
author-avatar
wwhh47123_829
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有