SVG实例入门与动画实战一

简介: SVG实例入门与动画实战一

前言

在日常开发过程中,我们或多或少都接触过SVG,有可能是用它来画一些简单的图形,有可能是使用它来构建工程的字体文件库,甚至是用它来绘制一些复杂的可视化模块。本文会详细介绍SVG的基本图形以及常见的动画形式,帮助你了解入门SVG

基本图形

下面会介绍SVG预设的数种形状以及对应的属性介绍,在实际开发或者设计过程中,绘画SVG图标大多数时候都是会使用一些工具的。

矩形

    <svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <rect width="100" height="100" x="20" y="20" rx="30" ry="30" style="fill:rgb(255,255,0);stroke-width:4;
stroke:rgb(0,0,0);fill-opacity: .6;stroke-opacity: .5;" />
    </svg>

svg标签中,width表示整个宽度,height表示高度,version表示版本,xmlns表示命名空间,后面两个属性是相对固定的东西,稍作理解即可。

rect中的标签属性与style属性解释如下:

  • width:宽度
  • height:高度
  • x:水平方向上的偏移量
  • y:竖直方向上的偏移量
  • rxry:定义圆角效果
  • style:样式(这些样式同样适用于下面的图形,所以下面的图形只会介绍属性,不会重复介绍样式)
  • fill:rgb颜色,表示矩形的填充颜色
  • fill-opacity:填充的不透明度
  • stroke:rgb颜色,表示矩形的边框颜色
  • stroke-width:矩形边框的大小
  • stroke-opacity:矩形边框的不透明度 533.png

圆形

<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <circle cx="100" cy="50" r="40" style="stroke:black; stroke-width:2; fill:blue" />
</svg>

circle标签属性解释如下:

  • cxcy:圆心坐标
  • r:圆的半径

55.png

椭圆

<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <ellipse cx="100" cy="50" rx="40" ry="50" style="fill:purple" />
</svg>

ellipse标签属性解释如下:

  • cx:圆心的x坐标
  • cy:圆心的y坐标
  • rx:水平半径
  • ry:竖直半径 56.png

线条

<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <line x1="10" y1="10" x2="100" y2="100" style="stroke:red;stroke-width:2" />
</svg>

line标签属性解释如下:

  • x1:线段的起点x坐标
  • x2:线段的终点x坐标
  • y1:线段的起点y坐标
  • y2:线段的终点y坐标

56.png



多边形

polygon标签属性解释如下:

  • points:定义多边形的N个(x,y)坐标,不少于三个点 57.png


折线

<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <polyline points="10,10 20,20 30,15 40,40 50,30 60,60" style="fill:transparent;stroke:green;stroke-width:2" />
</svg>

polyline标签属性解释如下:

  • points:定义曲线的N个(x,y)坐 59.png


PS:你看这个曲线图,像不像你最近的股票基金



SVG实例入门与动画实战二https://developer.aliyun.com/article/1495150


相关文章
|
存储 NoSQL Redis
【Redis】利用Redis List实现数据库分页快速查询
【Redis】利用Redis List实现数据库分页快速查询
988 0
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
3535 0
【MCP教程系列】当阿里云百炼智能体携带MCP,超级GitHub运营即刻上岗
阿里云百炼提供了一系列预置的MCP服务,无需自行部署或支付资源费用。通过简单几步,即可在智能体中添加MCP服务,自动实现调用兼容。
1536 0
|
存储 人工智能 移动开发
HTML5 游戏开发实战 | 五子棋
五子棋是一种家喻户晓的棋类游戏,它的多变吸引了无数的玩家。本章首先实现单机五子棋游戏(两人轮流下),而后改进为人机对战版。整个游戏棋盘格数为 15×15,单击鼠标落子,黑子先落。在每次下棋子前,程序先判断该处有无棋子,有则不能落子,超出边界不能落子。任何一方有横向、竖向、斜向、反斜向连到 5 个棋子则胜利。
24457 8
HTML5 游戏开发实战 | 五子棋
|
XML 前端开发 Java
JAVA调试webservice接口
JAVA调试webservice接口
946 1
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
1259 19
|
边缘计算 人工智能 5G
《元宇宙痛点求解:网络延迟与带宽限制突破指南》
元宇宙的沉浸式体验依赖于低延迟和高带宽网络,但当前网络延迟和带宽限制严重影响了用户体验,如VR游戏中的画面延迟和社交场景中的卡顿。5G、6G技术及卫星通信将大幅降低延迟并提升带宽,边缘计算与云计算的协同优化数据处理,AI智能调整传输策略,SDN等创新网络架构也将助力突破瓶颈。未来,这些技术将共同推动元宇宙实现流畅、逼真的沉浸式体验。
771 1
《元宇宙痛点求解:网络延迟与带宽限制突破指南》
|
算法 Python
Python 大神修炼手册:图的深度优先&广度优先遍历,深入骨髓的解析
在 Python 编程中,掌握图的深度优先遍历(DFS)和广度优先遍历(BFS)是进阶的关键。这两种算法不仅理论重要,还能解决实际问题。本文介绍了图的基本概念、邻接表表示方法,并给出了 DFS 和 BFS 的 Python 实现代码示例,帮助读者深入理解并应用这些算法。
560 2
|
监控 API 云计算
云计算成本优化:AWS Cost Explorer与预算管理的艺术
【10月更文挑战第27天】在云计算中,成本管理至关重要。本文介绍如何使用AWS Cost Explorer进行成本优化和预算管理。通过案例分析,展示如何创建自定义报告、发现成本动因、检测异常,并创建预算来监控和控制成本。此外,还提供了Python示例代码,帮助用户自动化预算创建过程。
483 4
|
机器学习/深度学习 数据采集 人工智能
深度学习的魔法:用神经网络识别手写数字
本文将引导读者了解如何使用深度学习技术,特别是卷积神经网络(CNN)来识别手写数字。我们将从基础理论出发,逐步深入到实际操作,包括数据的预处理、模型的构建和训练,以及结果的评估。通过本文,读者不仅能掌握使用深度学习进行图像识别的技能,还能理解其背后的原理。让我们一同揭开深度学习的神秘面纱,探索其在图像处理领域的无限可能。