path元素(2)

path元素(2)

path元素用于确定一条路径,需要配合相应的指令才能使用

M/m指令与L/l指令

M/m相当于canvas中的moveTo,L/l指令相当于canvas中的lineTo

M/L是依照绝对坐标确定点,m/l是依照相对坐标确定点

path{
    stroke: black;
}

<svg id="svg">
    <path d="M 10 10 L 100 100 M 100 100 L 250 0"></path>
</svg>

/*也可以这样*/
path{
    stroke: black;
    fill: transparent;
}

<svg id="svg">
    <path d="M 10 10 L 100 100 250 0"></path>
</svg>

要使用stroke才能将路径展现出来

H/h指令与V/v指令

H/h表示水平方向移到某个x处,V/v表示垂直方向上移到某个y处

H/V是依照绝对坐标确定点,h/v是依照相对坐标确定点

path{
    stroke: black;
    fill: transparent;/*默认会在形式上进行封闭,然后填充*/
}

<svg id="svg">
    <path d="M 10 10 H 100 V 100"></path>
</svg>

这里写图片描述

相当于以(10,10)为起点,移动到(100,0),再移动到(100,100)

z命令

其表示闭合,用于将起点与终点连起来。不区分大小写,没有相对于绝对之分

path{
    stroke: black;
    fill: transparent;
}

<svg id="svg">
    <path d="M 10 10 H 100 V 100 z"></path>
</svg>

A圆弧指令

其有七个参数

rx ry x-axis-rotation large-arc-flag sweep-flag x y

rx ry 圆弧的x轴半径和y轴半径(实际上是椭圆,当然,rx,ry相等时变为圆了)

x-axis-rotation 圆弧相对x轴的旋转角度,默认是顺时针,可以设置负值

large-arc-flag 表示圆弧路径是大圆弧还是小圆弧 1大圆弧

sweep-flag 表示从起点到终点是顺时针还是逆时针,1表示顺时针,0表示逆时针

x y 表示终点坐标

path{
    stroke: black;
    fill: transparent;
}

<svg id="svg">
    <path d="M 250 250 A 25 50 0 1 1 300 300"></path>
</svg>

这里写图片描述

Q二次贝赛尔曲线

还有一个命令与Q配合使用——T——表示延伸二次贝塞尔曲线

书写格式为

Q x1 y1, x2 y2 T x y

同canvas中一样,当前画笔所在点、x1,y1、x2,y2这三点来确定贝塞尔曲线

path{
    stroke: black;
    fill: transparent;
}

<svg id="svg">
    <path d="M 100 100 Q 250 50 200 300 T 400 50"></path>
</svg>

这里写图片描述

首先a,b,c三点确定一条贝塞尔曲线,再做(250,50)关于(200,300)的对称点,然后c,d,e三点又确定一条贝塞尔曲线来延伸之前的贝塞尔曲线

C三次贝塞尔曲线

还有一个命令与C配合使用——S——表示延伸三次贝塞尔曲线

书写格式为

C x1 y1, x2 y2, x3, y3 S x4 y4, x5 y5

这儿延伸同二次贝塞尔一样,做x2,y2关于x3,y3的对称点,然后x3,y3、对称点、x4,y4、x5,y5确定延伸的贝塞尔曲线

path{
    stroke: black;
    fill: transparent;
}

<svg id="svg">
    <path d="M 100 100 C 250 50 200 300 250 350 S "></path>
</svg>

推荐一个网址:http://editor.method.ac/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值