美文网首页
SVG前端画图

SVG前端画图

作者: 秒怂的哈士奇爱吃西瓜 | 来源:发表于2023-06-08 16:52 被阅读0次

SVG(Scalable Vector Graphics)是一种基于XML的标记语言,用于描述二维矢量图形,它可以在Web浏览器中进行展示。

SVG优点是:可伸缩、分辨率无损失,不管是电脑还是手机屏幕上都能够清晰地显示,支持互动和动画等特效;

缺点是:不支持复杂的渲染效果,如模糊、阴影和透明度,文件大小比位图格式相对较大,开发者需要掌握一定的SVG绘图基础知识。

SVG可以在任何地方编写哦~

SVG 与 Canvas 区别

image.png

不同形状元素

基本通用的属性

  • fill:定义矩形的填充颜色
  • stroke-width:定义边框宽度
  • stroke:定义矩形边框的颜色
  • fill-opacity:定义填充颜色的不透明度(0-1取值范围)
  • stroke-opacity:定义描边颜色的不透明度(0-1取值范围)
  • opacity:整个元素的不透明度

矩形 rect

基础案例

<pre>

arduino

复制代码

//案例矩形 <svg width="100" height="100"> <rect width="100" height="100" fill="red" stroke-width="2" stroke="#ccc"></rect> </svg> </pre>

标签的属性

  • width:定义矩形的宽度
  • height:定义矩形的高度
  • fill:定义矩形的填充颜色
  • stroke-width:定义矩形的边框宽度
  • stroke:定义矩形边框的颜色
  • x:定义矩形左边位置
  • y:定义矩形顶部位置
  • fill-opacity:定义填充颜色的不透明度(0-1取值范围)
  • stroke-opacity:定义描边颜色的不透明度(0-1取值范围)
  • opacity:整个元素的不透明度
  • rx:定义圆角X轴方向的半径长度
  • ry:定义圆角y轴方向的半径长度

圆形 circle

基础案例

<pre>

js

复制代码

//案例圆形 <svg width="100" height="100" > <circle cx="50" cy="50" r="40" stroke-width="3" stroke="#000" fill-opacity="0"></circle> </svg> </pre>

image.png

标签的属性

  • cx:定义椭圆中心的X坐标
  • cy:定义椭圆中心的y坐标
  • rx:定义椭圆的水平半径
  • ry:定义椭圆的垂直半径

椭圆 ellipse

基础案例

<pre>

js

复制代码

<svg width="500" height="140" > <ellipse cx="200" cy="80" rx="80" ry="20" stroke-width="3" stroke="#000" fill-opacity="0" /> </svg> </pre>

椭圆xy是不同,这样可以形成椭圆

image.png

标签的属性

  • cx:定义椭圆中心的X坐标
  • cy:定义椭圆中心的y坐标
  • rx:定义椭圆的水平半径
  • ry:定义椭圆的垂直半径

线条 line

基础案例

<pre>

js

复制代码

//线条的案例 <svg width="500" height="210"> <line x1="0" y1="0" x2="200" y2="200" stroke-width="3" stroke="#000"></line> </svg> </pre>

image.png

标签的属性

  • x1:定义x轴上直线的起点坐标
  • y1:定义y轴上直线的起点坐标
  • x2:定义x轴上直线的末端坐标
  • y2:定义y轴上直线的末端坐标

多线条 polyline

多边形 polygon

路径 path

SVG各个小案例

注意事项

我们可以在html文件中去编写我们的SVG标签,方便我们进行练习,可以在浏览器更加直观的去看到我们所写的效果,并且可以编写多个SVG

image.png

当要使用我们所写的SVG时

如果要使用我们所写的SVG,可以创建SVG文件 在文件中头部添加

<pre>

js

复制代码

<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> </pre>

并且在SVG标签上添加

<pre>

js

复制代码

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> //里面编写不同形状元素 </svg> </pre>

1.通过矩形和圆形制作添加图案

效果
image.png
代码

<pre>

xml

复制代码

<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="50" cy="50" r="40" stroke-width="3" stroke="#000" fill-opacity="0"></circle> <rect width="60" height="5" fill="#000" x="20" y="46" rx="3" ry="3"></rect> <rect width="5" height="60" fill="#000" x="47" y="20" rx="3" ry="3"></rect> </svg> </pre>

作者:广子头的康
链接:https://juejin.cn/post/7242247549510533176
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • 与canvas不同的svg画图

    svg画图API: svg 画图适合做什么: 矢量图 图表 性能一般 交互容易 svg 属性width he...

  • 7.html5 笔记3 svg

    SVG 教程在线画svg path的各种指令, 就很类似 canvas的画图方式.image.pngimage.p...

  • loading带你svg入门

    参考资料: SVG简介-前端早读 张鑫旭--一个简单的loading demo 一、svg简介 SVG 是使用 X...

  • SVG画图描边

    什么是SVG?SVG 指可伸缩矢量图形 (Scalable Vector Graphics)SVG 用来定义用于网...

  • 2. SVG

    SVG SVG: Scaleable Vector Graphics 可伸缩矢量图形,这种图像格式在前端中已经使用...

  • SVG之旅(一)

    经过上周的学习,今天的总结分享我想把svg分成三个部分:基本元素、path、动画。 基本元素: 主要是svg画图形...

  • 第六章 神经网络

    6.2 全连接层 画图工具的链接如下:http://alexlenail.me/NN-SVG/index.html...

  • 一些小trick

    解决matplotlib画图,保存svg格式不完整办法 plt.savefig('test.jpg', dpi=2...

  • svg基础

    随着各大浏览器对svg标准支持的越来越完备,svg在网页及移动端成为了前端工程师们的首选。 svg 基础形状 sv...

  • Echarts 3.0

    实例代码 1.浏览器画图原理 1.1 Canvas与Svg的区别 1.1.1 Canvas——01/canvas....

网友评论

      本文标题:SVG前端画图

      本文链接:https://www.haomeiwen.com/subject/lldaedtx.html