3. svg学习笔记-基本形状和画笔属性
svg中可以绘制的基本图形有线段,矩形,多边形,圆,椭圆,分别来看一下这些基本图形:
线段
使用<line>元素创建一条线段,格式如下:
<line x1=" start-x " y1=" start-y " x2=" end-x " y2=" end-y " stroke="black">
其中start-x和start-y为线段起点的x,y坐标,end-x和end-y为线段结束点的x,y坐标。
示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid #000000">
<line x1="10" y1="10" x2="200" y2="200" stroke="black">
</line>
</svg>
</body>
</html>
以上代码在浏览器中显示如下:
以上代码中<line>元素除了自身的基本属性之外还有个stroke属性,此属性用来指定基本图形的轮廓颜色,若不指定,默认为none,即在浏览器中无法看到所绘制的图形。除此之外,类似的属性还有stroke-width,stroke-opacity,stroke-dasharray,fill等,此类属性以后本文结尾时会详解,此处只是用来将图形显示出来
矩形
使用<rect>元素绘制一个矩形,格式如下:
<rect x="left-top-point-x" y="left-top-point-y" width="w" height="h"></rect>
其中x,y属性为矩形左上角顶点的x,y坐标,width和height分别指定矩形的宽高
示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<rect x="30" y="50" width="100" height="60" stroke="black" fill="none">
</rect>
</svg>
</body>
</html>
在浏览器中呈现如下:
圆角矩形
圆角矩形也使用<rect>元素创建,只不过额外指定了两个属性,格式如下:
<rect x="left-top-point-x" y="left-top-point-y" width="w" height="h" rx="rx" ry="ry">
</rect>
属性rx和ry分别指定了x方向和y方向的圆角半径,示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<rect x="30" y="50" width="200" height="120" rx="10" ry="60" stroke="black" fill="none">
</rect>
</svg>
</body>
</html>
在浏览器中呈现如下:
将以上代码中的svg部分代码改为下面的代码:
<svg width="300" height="300" style="border:1px solid black">
<rect x="30" y="50" width="200" height="120" rx="10" ry="10" stroke="black" fill="none">
</rect>
</svg>
在浏览器中呈现如下:
圆
在svg中使用<circle>元素创建一个圆,格式如下:
<circle cx="cx" cy="cy" r="radius" ></circle>
cx和cy分别指定了圆心坐标的x和y,r元素指定了圆的半径。示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<circle cx="100" cy="100" r="60" stroke="black" fill="none">
</circle>
</svg>
</body>
</html>
在浏览器中呈现如下:
椭圆
在svg中创建椭圆使用<ellipse>元素,只不过椭圆有两个半径,水平方向上的和垂直方向上的,格式如下:
<ellipse cx="circle-x" cy="circle-y" rx=" x-radius " ry="y-radius"></ellipse>
其中cx和cy为椭圆的圆心,rx和ry为水平方向和垂直方向上的半径。示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<ellipse cx="100" cy="100" rx="60" ry="90" stroke="black" fill="none">
</ellipse>
</svg>
</body>
</html>
在浏览器中呈现如下:
多边形
svg中最有魅力的就是多边形和路径了,CSS3再牛逼也没有办法像svg一样如此简单的创建一个任意的多边形,在svg中通过<polygon>元素创建一个多边形,格式如下:
<polygon points="x1,y1 x2,y2 x3,y3 x4,y4 …"></polygon>
通过为points属性指定多个坐标点来创建一个多边形,坐标点之间以空格或者逗号隔开,指定坐标时不需要指定返回起始坐标,图形会自动闭合。
示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<polygon points="10,150 30,40 170,50 10,20" stroke="black" fill="none">
</polygon>
</svg>
</body>
</html>
在浏览器中下呈现如下:
折线
绘制折线的时候可以通过一系列的<line>元素来创建,但是这样做会加大阅读的难度,不利于代码的维护,所以可以通过另一种方法来创建折线,那就是<polyline>元素,格式如下:
<polyline points="x1,y1 x2,y2 x3,y3 x4,y4 …"></polyline >
其中的point元素指定的也是坐标点,点之间以空格或者逗号隔开,示例如下:
<!DOCTYPE html>
<html>
<head>
<title>SVG</title>
</head>
<body>
<svg width="300" height="300" style="border:1px solid black">
<polyline points="23.5,45 58.2,87.63 34,23.4 200,210" stroke="black" fill="none"></polyline>
</svg>
</body>
</html>
浏览器中打开如下:
画笔属性
stroke:画笔的颜色,默认为none
stroke-width:画笔的宽度,默认为1
stroke-opacity:画笔颜色的透明度,取值为0到1之间的数值,0为完全透明,1为完全不透明,默认为1
stroke-dasharray:指定一个数值序列来表示虚线的长度和虚线中间空隙的长度
stroke-linecap:线头尾的形状,值为butt,round或者square
stroke-linejoin:图形的棱角或者一系列连线的形状,取值为miter(尖的,默认值),round或者bevel(平的)
stroke-miterlimit:相交处显示宽度与线宽的最大比例,默认值为4
fill:指定图形的填充颜色,默认值为black
fill-opacity:填充的透明度,取值范围为0~1之间的数值,0为完全透明,1为完全不透明,默认值为1
fill-rule:填充的规则,取值为nonzero(默认值)或者evenodd
3. svg学习笔记-基本形状和画笔属性的更多相关文章
- 7. svg学习笔记-图案和渐变
之前,我们仅仅使用纯色来为图形填充颜色和绘制轮廓,除此之外,我们还可以使用图案和渐变来填充图形或者是绘制轮廓. 图案 图案的效果类似于,在网页中给一个元素指定背景图像,当背景图像的尺寸小于元素的尺寸的 ...
- 8. svg学习笔记-文本
毫无疑问,文本也是svg中组成的重要部分,在svg中,用<text>元素来创建文本,文本的使用格式如下: <text x="20" y="30" ...
- 4. svg学习笔记-文档结构元素和样式的使用
svg除了绘图元素之外还有一部分是专门用于文档结构的,这类元素有<g>,<use>,<defs>,<symbol>等 <g>元素 如果我们仅 ...
- 2. svg学习笔记-svg中的坐标系统和viewbox
我是通过<SVG精髓>这本书学习的svg,说实话,这本书写的不好,或者说翻译的不好,我没有看过这本书的原版,不知道原文写的怎么样,但是翻译出来的有些句子真的很拗口.以前老师给我们API文档 ...
- svg的基本图形与属性【小尾巴的svg学习笔记1】
因为项目有可能用到, 所以学习了一下,做此笔记,图截自慕课网,侵删. 一.基本图形 1.矩形 x,y定义矩形的左上角坐标: width,height定义矩形的长度和宽度: rx,ry定义矩形的圆角半径 ...
- svg学习笔记(一)
SVG——可扩展适量图形,基于XML PC端:IE9+ wap端:表现良好,适合使用 基础图形: line(线段) <line x1="25" y1="150 ...
- svg学习笔记(二)
SMIL animation演示代码集锦 <svg width="1400" height="1600" xmlns="http://www.w ...
- svg学习笔记
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 9. svg学习笔记-裁剪和蒙版
裁剪 在svg中进行剪切,对整个svg元素而言,可以使用<svg>元素的viewbox属性,对于单个元素则可以使用<clipPath>元素.在单个图形元素上使用裁剪,可以在&l ...
随机推荐
- 深入理解 Java 动态代理机制
Java 有两种代理方式,一种是静态代理,另一种是动态代理.对于静态代理,其实就是通过依赖注入,对对象进行封装,不让外部知道实现的细节.很多 API 就是通过这种形式来封装的. 代理模式结构图(图片来 ...
- 错误提示:The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project The type java.lang.Object cannot b
原文:http://www.cnblogs.com/mmzs/p/7662863.html 错误类型: 搞了很久才找到原因.解决办法写出来分享: 出现以上错误的原因是玩耍maven时多装了个jre.本 ...
- maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题
一般出现这种情况,首先看看 pom.xml 文件引用的jar文件有没有损坏.或者下载不完整,打开maven仓库根据依赖地址可以查看. 如果还是出现问题,报 java.lang.ClassNotFoun ...
- mysql+mycat实现读写分离
centos7 master slave mycat1.6 client 192.168.41.10 192.168.41.11 192.168.41.12 192.168.41.13 实 ...
- $_POST和$GLOBALS['HTTP_RAW_POST_DATA'] 的区别
HTTP 协议是建立在 TCP/IP 协议之上的应用层规范,它把 HTTP 请求分为三个部分:请求行.请求头.消息主体.协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协 ...
- 9.并发_EJ
第66条: 同步访问共享可变的数据 所谓同步指的发出一个调用时,如果没有得到结果就不返回,直到有结果后再返回.另外相对应的是异步,指的是发出一个调用时就立即返回而不在乎此时有没有结果. 同步和异步关注 ...
- 数据库sql语句常见面试题
转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname, ...
- TCP/UDP 协议
传输层建立端口到端口的通信. 网络层的 ip 为我们区分子网,以太网层的 mac 帮我们找到主机.然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,那么我们通过ip和m ...
- 2018-11-29 VS Code英汉词典插件v0.0.6-改为TS实现, 加测试
如前文VS Code英汉词典插件v0.0.4-驼峰下划线命名打算, 首先将JS源码改为TypeScript实现, 并添加了必要的测试. 昨天得知vue.js 3.0会用TypeScript实现, 正好 ...
- windows10系统关闭自动更新服务
一.关闭Windows10系统的自动更新服务 1:使用快捷键Win+R,打开运行 2:输入命令:services.msc,打开系统服务界面 找到Windows Update双击 将启动类型改为[禁用] ...