svg-基本形状

1.矩形

x:矩形左上角的x位置
y:矩形左上角的y位置
width:矩形的宽度
height:矩形的高度
rx:圆角的x方位的半径
ry:圆角的y方位的半径

  <rect x="10" y="10" rx="50" ry="10" width="100" height="100" stroke="black" fill="transparent" stroke-width="5"/>

rx和ry是设置用来圆角的,默认为0;
在这里插入图片描述

2.圆形

<circle cx="25" cy="75" r="20"/>

r:圆的半径
cx:圆心的x位置
cy:圆心的y位置
在这里插入图片描述

3.椭圆形

<ellipse cx="200" cy="100" rx="100" ry="50" stroke="blue" stroke-width="2" fill="transparent"/>

在这里插入图片描述
rx:椭圆的x半径
ry:椭圆的y半径
cx:椭圆中心的x位置
cy:椭圆中心的y位置

4.直线

<line x1="10" y1="10" x2="350" y2="50" stroke="blue" stroke-width="2"/>

x1:起点的x位置
y1:起点的y位置
x2:终点的x位置
y2:终点的y位置
在这里插入图片描述

5.折线

<polyline points="60 110, 80 125, 105 160, 70 175, 125 190, 100 245" stroke="blue" stroke-width="2" fill="transparent"/>

在这里插入图片描述

6.多边形

 <polygon points="50 160, 55 180, 70 180, 60 190, 65 205, 50 195, 35 205, 40 190, 30 180, 45 180" stroke="blue" stroke-width="2" fill="transparent"/>

在这里插入图片描述

7.路径

path可能是SVG中最常见的形状。你可以用path元素绘制矩形(直角矩形或者圆角矩形)、圆形、椭圆、折线形、多边形,以及一些其他的形状,例如贝塞尔曲线、2次曲线等曲线。

<path d="M 20 230 Q 40 205, 50 230 T 90230"/>

在这里插入图片描述

8. path详解

8.1 用path画矩形

 <path d="M 100 100 L 200 100 V 200 H 100 V 100" stroke="blue" stroke-width="2" fill="transparent"/>

<path d="M 100 100 L 200 100 V 200 H 100 Z" stroke="blue" stroke-width="2" fill="transparent"/>

<path d="M 100 100 l 100 0 v 100 h -100 Z" stroke="blue" stroke-width="2" fill="transparent"/>

在这里插入图片描述
M:移动到某个点
L:画直线到某个点
V:垂直画直线到某个点(只需要写纵坐标)
H:水平画直线到某个点(只需要写横坐标)
Z:从当前点画一条直线到路径的起点
注意大写用的好似绝对坐标,小写用的是相对坐标。

8.2 用path绘制曲线

1.三次贝塞尔曲线(C S) 二个控制点

<svg width="700px" height="700px" version="1.1" xmlns="http://www.w3.org/2000/svg" style="border: 1px solid black">
  <path d="M 20 300 C 100 220, 200 200, 300 300 S 450 380,500 300" stroke="black" fill="transparent"/>
  <!-- 1.起点 -->
  <circle cx="20" cy="300" r="2" fill="red"/>
  <!-- 1.第一个控制点 -->
  <circle cx="100" cy="220" r="2" fill="red"/>
  <!-- 1.第二个控制点 -->
  <circle cx="200" cy="200" r="2" fill="red"/>
  <!-- 1.终点 -->
  <circle cx="300" cy="300" r="2" fill="red"/>

  <!-- 2.第一个控制点 -->
  <circle cx="400" cy="400" r="2" fill="red"/>
  <!-- 2.第二个控制点 -->
  <circle cx="450" cy="380" r="2" fill="red"/>
  <!-- 2.终点 -->
  <circle cx="500" cy="300" r="2" fill="red"/>

  <path d="M 20 300 L 100 220" stroke="red" stroke-width="2" />
  <path d="M 200 200 L 300 300" stroke="red" stroke-width="2" />
  <path d="M 300 300 L 400 400" stroke="blue" stroke-width="2" />
  <path d="M 450 380 L 500 300" stroke="blue" stroke-width="2" />
</svg>

在这里插入图片描述

M: 起点
C: 贝塞尔曲线,第一个控制点+第二个控制点+中点
S:用来创建与前面一样的贝塞尔曲线,但是,如果S命令跟在一个C或S命令后面,则它的第一个控制点会被假设成**前一个命令曲线的第二个控制点的中心对称点。**如果S命令单独使用,前面没有C或S命令,那当前点将作为第一个控制点。

2.二次贝塞尔曲线(Q T)一个控制点

<svg width="700px" height="700px" version="1.1" xmlns="http://www.w3.org/2000/svg" style="border: 1px solid black">
  <path d="M 0 300 Q 100 600, 200 300 T 400 300" stroke="black" fill="transparent"/>
  <!-- 1.起点 -->
  <circle cx="0" cy="300" r="2" fill="red"/>
  <!-- 1.第一个控制点 -->
  <circle cx="100" cy="600" r="2" fill="red"/>
  <!-- 1.终点 -->
  <circle cx="200" cy="300" r="2" fill="red"/>

  <!-- 2.第一个控制点 -->
  <circle cx="300" cy="0" r="2" fill="red"/>
  <!-- 2.终点 -->
  <circle cx="400" cy="300" r="2" fill="red"/>

  <path d="M 0 300 L 100 600" stroke="red" stroke-width="2" />
  <path d="M 100 600 L 200 300" stroke="red" stroke-width="2" />
  <path d="M 200 300 L 300 0" stroke="blue" stroke-width="2" />
  <path d="M 300 0 L 400 300" stroke="blue" stroke-width="2" />
</svg>

在这里插入图片描述

8.3 用path绘制弧形(圆形和椭圆形弧)

A rx ry x-axis-rotation large-arc-flag sweep-flag x y  //x y绝对
a rx ry x-axis-rotation large-arc-flag sweep-flag dx dy  //dx dy相对
  1. rx ry 是椭圆的两个半轴的长度。
  2. x-axis-rotation 是椭圆相对于坐标系的旋转角度,角度数而非弧度数。
  3. large-arc-flag 是标记绘制大弧(1)还是小弧(0)部分。
  4. sweep-flag 是标记向顺时针(1)还是逆时针(0)方向绘制。
  5. x y 是圆弧终点的坐标。
    在这里插入图片描述
    举例:
    画之前计算好坐标
<?xml version="1.0" standalone="no"?>
<svg width="700px" height="700px" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M 300 280
            A 20 40 -30 1 0 282.5 290
            A 20 40 -90 1 0 282.5 310
            A 20 40 -150 1 0 300 320
            A 20 40 -210 1 0 317.5 310
            A 20 40 -270 1 0 317.5 290
            A 20 40 -330 1 0 300 280"
            fill="pink" stroke="red" stroke-width="1" />
    <circle cx="300" cy="300" r="20" fill="green" stroke="red" stroke-width="1" />
</svg>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SVG-icon标签是一种用于在网页显示可缩放矢量图形(Scalable Vector Graphics)的HTML标签。它允许开发者使用SVG格式的图像作为图标,并具有以下特点: 1. 可缩放性:SVG图像是基于矢量的,因此可以在不失真的情况下缩放到任意大小。 2. 矢量性:SVG图像使用数学描述来定义形状和路径,而不是像素网格,因此图像可以无损地缩放。 3. 可编辑性:SVG图像可以使用文本编辑器进行编辑,可以修改形状、颜色、大小等属性。 4. 支持透明度和滤镜效果:SVG图像可以应用透明度和各种滤镜效果,使得图标具有更多的样式和效果。 使用SVG-icon标签,你可以将SVG图像嵌入到HTML文件,并通过CSS样式来控制其显示和行为。通常,你需要在HTML文件使用`<svg>`标签来定义SVG图像,然后使用`<use>`标签来引用并显示特定的图标。 例如,假设你有一个名为"icon.svg"的SVG图像文件,其包含一个id为"icon-heart"的图标。你可以在HTML文件使用以下代码来显示该图标: ```html <svg class="icon"> <use xlink:href="icon.svg#icon-heart"></use> </svg> ``` 上述代码,`<svg>`标签定义了一个具有"class"属性的SVG容器,用于包含图标。`<use>`标签通过"xlink:href"属性引用了SVG图像文件的"id"为"icon-heart"的图标。 使用CSS样式,你可以进一步调整图标的大小、颜色等属性。例如: ```css .icon { width: 24px; height: 24px; fill: red; } ``` 上述代码将图标的宽度和高度设置为24像素,并将填充颜色设置为红色。 这就是使用SVG-icon标签在网页显示可缩放矢量图形的基本方法。希望能对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊啊啊~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值