SVG精髓阅读笔记

网友投稿 576 2022-05-29

SVG,是一种可缩放矢量图形,一种XML应用.可以以一种简洁,可移植的形式表示图形信息.

计算机中描述图形信息的二大系统是栅格图形和矢量图形,在栅格图形系统中,图像被表示为图片元素或者像素的长方形数组,每个像素用其RGB颜色值或者颜色表内的索引表示,这一系列像素也称为位图.

在矢量图形系统中,图像被描述为一系列几何形状,矢量图形阅读器接受在指定坐标集上绘制形状的指令,而不是接受一系列已经计算好的像素.有人把矢量图形描述为一组绘图指令,而位图则是在特定的位置填充颜色的点.

矢量图形的用途:1:计算机辅助绘图,CAD,可以精确地测量和放大绘图以便查看细节非常重要,2:设计用于高分辨率打印图形的程序,

SVG的特点:可缩放,不失真,无锯齿,或锯齿不明显.

SVG文档:

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

xmlns="http://www.w3.org/2000/svg"

xmlns:xlink="http://www.w3.org/1999/xlink">

根元素svg可以用width和height二个属性定义svg的像素宽和像素高的

SVG的一些基本元素和用法,

SVG的坐标原点在左上角(0,0)

元素circel可以画圆相关图形, 指定中心点的x坐标和y坐标以及半径,如可以作为单独属性写出来如:

用于划线  x1 y1 x2 y2

分组 指定一个id 以便后续复用

变换复制组

折线

文本元素

矩形

在网页中使用SVG

SVG作为图像,作为图像,作为CSS背景,作为对象,内联SVG

SVG的坐标系统

视口,文档使用的画布区域称为视口,单位可以em,默认字体大小,ex 字母x的高度,px像素,pt点pc12点cm厘米,mm毫米,in英寸可混用,没有单位默认为像素

默认坐标是水平坐标向右递增,垂直坐标垂直向下递增

元素svg上的属性viewBox属性,有四个值,分表代表想要叠加在视口上的用户坐标系统的最小x坐标,最小y坐标,宽度和高度

下面一行代码是在4厘米*5厘米的图纸上,设置每厘米16个单位的坐标系统

属性viewBox的宽高比可以不同于视口的宽高比,在这种情况下SVG可以做三件事

SVG精髓阅读笔记

1:按较小的尺寸等比例缩放图形,以使图形完全填充视口,

2:按较大的尺寸等比例缩放图形并裁剪掉超出视口的部分

3:拉伸和挤压绘图以使其恰好填充新的视口

属相preserveAspectRatio允许我们指定被缩放的图形相对于视口的对齐方式,以及是希望它适配边缘还是要裁剪,

PreserveAspectRatio=”alignment[meet | slice]”

其中alignment指定轴和位置, x,y Min Mid Max

Meet参数适配viewBox视口

参数slice会裁剪图形不适合视口的部分,

如果使用none参数,图像不会被等比例缩放,以使它的用户坐标适合视口.

Svg支持嵌套的坐标系统将一个svg元素插入到一个新的文档中

Svg中的基本形状

线段

笔画特性:stroke-width

笔画颜色stroke

线条透明度stroke-opacity

虚线:stroke-dasharray

矩形

圆角矩形加上属性rx 与ry

椭圆

多边形 可以用来画任意封闭图形,不需要指定终点,自动闭合

属性fill-rule规定填充的规则,二个值为nonzero 默认和evenodd

折线 不会自动闭合

当使用划线时,可以为stroke-linecap指定不同的值来确定线的头尾形状,可能的取值为butt,round,square

属性stroke-linejoin用来指定线段在图形棱角处交叉时的效果,可能的取值有,miter 尖,round圆,bevel平

文档结构:

Svg提倡表现与结构分离,

我们有四种方式指定图像的表现信息分别是,内联样式,内部样式表,外部样式表,以及表现属性

内联样式

内部样式表

circle{undefined

fill:#ffc;

stoke:blue

}

]]>

外部样式表:

表现属性

表现属性位于优先级的最底部.

分组和引用对象

元素会将其所有的子元素作为一个组合,通常组合还会有一个唯一的id作为名称,

元素,可以重用元素,

元素,可以存放想要复用的对象,

元素也提供一种组合元素的方式,他的内容永远不会显示,它还可以指定viewBox 和preserveAspectRatio属性

元素可以包含一个完整的svg或者栅格文件,

SVG

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用MQTT.fx对接华为物联网平台——实践操作过程
下一篇:【论文解读】YOLOP 全景驾驶感知 同时处理三大视觉任务
相关文章