学下SVG矢量图形,你也是个小小艺术家!

boyanx6个月前技术教程24

SVG 全面教程

1. SVG 简介

SVG(Scalable Vector Graphics)是一种基于XML的矢量图形格式,可以在不损失质量的情况下任意缩放。

2. 基础语法

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="10" width="100" height="100" fill="red" />
</svg>

[SVG演练场](
https://developer.mozilla.org/en-US/play
)

3. 基本形状

3.1 矩形

<rect x="10" y="10" width="100" height="50" fill="blue" stroke="black" stroke-width="2"/>

3.2 圆形

<circle cx="50" cy="50" r="40" fill="green"/>

4. 路径绘制

<path d="M10 10 L100 10 L100 100 Z" fill="none" stroke="black"/>

5. 渐变效果

<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<rect x="10" y="10" width="200" height="100" fill="url(#grad1)" />

6. 滤镜效果

<defs>
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
</defs>
<rect x="10" y="10" width="100" height="100" fill="blue" filter="url(#blur)"/>

7. 动画效果

<rect x="10" y="10" width="50" height="50" fill="red">
<animate attributeName="x" from="10" to="200" dur="3s" repeatCount="indefinite"/>
</rect>

8. 实际应用案例

8.1 简单图标

<svg width="100" height="100">
<circle cx="50" cy="50" r="40" fill="yellow" stroke="black" stroke-width="2"/>
<circle cx="35" cy="40" r="5" fill="black"/>
<circle cx="65" cy="40" r="5" fill="black"/>
<path d="M30 70 Q50 90 70 70" fill="none" stroke="black" stroke-width="2"/>
</svg>

8.2 复杂图形



<svg width="200" height="200">
<path d="M20,20 L180,20 L180,180 L20,180 Z M40,40 L160,40 L160,160 L40,160 Z"
fill="none" stroke="black" stroke-width="2"/>
<circle cx="100" cy="100" r="30" fill="red"/>
<line x1="100" y1="40" x2="100" y2="160" stroke="blue" stroke-width="2"/>
<line x1="40" y1="100" x2="160" y2="100" stroke="blue" stroke-width="2"/>
</svg>

参考资料

  1. MDN SVG参考
  2. Inkscape 绘图软件
  3. SVG演练场
标签: svg路径动画

相关文章

移动前端重构实战系列:5-7章

(本文系来自腾讯imweb团队 结一大大 关于移动端重构经验以及思想的实战系列,推荐点击左下角的阅读原文。)”本系列教程为实战教程,是自己移动端重构经验及思想的一次总结,也是对sheral UI的一次...

2.3 文件格式全解:PSD/JPG/PNG/SVG/GIF

2.3 文件格式全解:PSD/JPG/PNG/SVG/GIF一、文件格式的核心意义文件格式是数字图像的存储规则,决定了:- 信息保留程度(图层/透明度/动画)- 压缩方式与画质损失- 跨平台兼容性-...

Anime.js轻量级、高性能的 JavaScript 动画库

Anime.js(发音为 /'aen..me/)是一款轻量级、高性能的 JavaScript 动画库,专注于通过简洁 API 实现流畅的网页动画效果。以下是其核心特性和使用指南:一、核心特性与优势多场...

粒子Logo动画教程

本教程将引导你使用Blender的Geometry Nodes创建一个引人注目的粒子Logo动画。整个教程实现的基本原理如下:导入Logo:首先,将你的Logo(最好是SVG格式)导入Blender,...

他们做了份H5简历,然后,HR就主动“勾搭”他们了!

春风送暖,万物复苏。在这Word简历海量投、纸质招聘到处飞的季节,有这么一群派友们,他们的电话已被HR打爆!“这么牛!”“这么做到的?”“求秘诀!”今天,小派来揭秘了:他们已经在用创意H5简历了,赶快...

我的PPT可以“吐泡泡”!你的可以吗?1分钟教会你怎么做

咕噜咕噜!我的PPT可以冒泡泡哦!想知道这样的效果怎么做出来吗?今天小编就来教大家制作这个效果!超级简单又好看哦!一、“泡泡”制作1、插入形状首先我们新建一个PPT,然后点击【插入】——【形状】——【...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。