来源:自学PHP网 时间:2018-02-07 18:25 作者: 阅读:次
[导读] SVG的path元素用于定义一些复杂的图形。它可以结合使用直线,曲线等来制作各种不规则的图形。path元素是SVG基本图形中最为复杂的一个。要掌握和理解它也需要下一点苦工。...
SVG的 <svg xmlns="http://www.w3.org/2000/svg"> <path d="M50,50 A30,30 0 0,1 35,20 L100,100 M110,110 L100,0" style="stroke:#660000; fill:none;"/> </svg> 上面代码的返回结果如下: 可以看到SVG图像中包含一条曲线和俩条直线,并且第二条直线是立刻第一条直线一段距离的。 所有的这些绘制工作都是在 设置和移动虚拟画笔在 <svg xmlns="http://www.w3.org/2000/svg"> <path d="M50,50" style="stroke:#660000; fill:none;"/> </svg> 上面的例子将虚拟画笔移动到(50,50)坐标的位置上。然后接下来的绘制命令将从这个位置开始绘制图形。 直线直线命令是 <svg xmlns="http://www.w3.org/2000/svg"> <path d="M50,50 L100,100" style="stroke:#660000; fill:none;"/> </svg> 上面的例子从(50,50)坐标开始绘制一条直线,直线的终点在(100,100)的位置。下面是返回结果: 直线命令 路径图形总是从虚拟画笔的最后位置开始到新的坐标点绘制图形。每一个绘制命令都有一个结束点。在执行了这些绘制命令后,虚拟画笔会定位在这些命令所决定的结束点上。下一次的绘制命令将从这些点开始绘制。 弧线使用 <svg xmlns="http://www.w3.org/2000/svg"> <path d="M50,50 A30,50 0 0,1 100,100" style="stroke:#660000; fill:none;"/> </svg> 上面代码的返回结果如下: 这个例子从(50,50)开始绘制弧线,结束点位置在(100,100)。 弧线的半径有
第四和第五个参数分别为 下面来看一个例子,下面绘制4条相同的弧线,分别使用不同的 <svg xmlns="http://www.w3.org/2000/svg"> <path d="M40,20 A30,30 0 0,0 70,70" style="stroke: #cccc00; stroke-width:2; fill:none;"/> <path d="M40,20 A30,30 0 1,0 70,70" style="stroke: #ff0000; stroke-width:2; fill:none;"/> <path d="M40,20 A30,30 0 1,1 70,70" style="stroke: #00ff00; stroke-width:2; fill:none;"/> <path d="M40,20 A30,30 0 0,1 70,70" style="stroke: #0000ff; stroke-width:2; fill:none;"/> </svg> 先来看看结果: 4条不同的弧线都是从(40,20)绘制到(60,70)。它们的 上面的代码绘制的第一条弧线是一条黄色的弧线。它的 第二条被绘制的弧线是红色的弧线。它的 第三条被绘制的弧线是绿色的弧线。它是红色的弧线的一个镜像(沿弧线的开始点和结束点形成的直线做镜像)。可以看到它的 第四条弧线是蓝色的弧线,它是黄色弧线的镜像,原因是它的 贝兹曲线使用 <path d="M50,50 Q50,100 100,100" style="stroke: #006666; fill:none;"/> 它的返回结果如下: 上面的例子从(50,50)开始到(100,100)位置结束绘制一条二次贝兹曲线,控制点的位置在(50,100)的位置。控制点是由 如果你使用过一些矢量图像编辑软件,如Adobe Illustrator,那么你就会了解什么是贝兹曲线和控制点。在一个矢量图上的某个点,我们可以看到这个点上有两个控制手柄,通过拖拽这两个手柄可以调节这一点的弧度的大小。 控制点能够像磁铁一样拉伸曲线。控制点越接近弧线,弧线越平滑。控制点月远离弧线,弧线越被拉伸。下面是几个不同位置控制点的例子: 实际上,如果你从开始点绘制一条直线到控制点,在从控制点绘制一条直线到结束点,然后将这两条直线的中心点相连,那么这条连线正好和这条弧线相切。如下面的图像所示: 三次贝兹曲线绘制三次贝兹曲线的命令是 <path d="M50,50 C75,80 125,20 150,50" style="stroke: #006666; fill:none;"/> 下面是它的返回结果,另外还绘制了它的两个控制点。 你可以使用三次贝兹曲线来绘制一些复杂的曲线。下面是一些例子: 闭合路径
<path d="M50,50 L100,50 L100,100 Z" style="stroke: #006666; fill:none;"/> 下面是上面代码的返回结果: 结合使用各种命令我们可以在 <path d="M100,100 L150,100 a50,25 0 0,0 150,100 q50,-50 70,-170 Z" style="stroke: #006666; fill: none;"/> 上面的代码绘制了一条直线,一条弧线和一条二次贝兹曲线,并且最后使用 填充路径我们可以使用CSS的 <path d="M100,100 L150,100 L150,150 Z" style="stroke: #0000cc; stroke-width: 2px; fill : #ccccff;"/> 上面代码得到的结果如下: 重复指令的简写方式如果你重复多次连续使用同一个命令,可以可以将其省略,只写后面的参数即可。例如下面的例子: <path d="M10,10 l100,0 0,50 -100,0 0,-50" style="stroke: #000000; fill:none;" /> 在上面的例子中,多次连续使用了 path命令在下面列出了SVG
返回SVG教程目录 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com