SVG实战开发学习(二)——基本图形

【1】线段:<line>元素

基本属性:两点确定一条线段,所以线段的基本属性就是它的起止点的坐标。

<svg width="300" height="400">

<!--水平线-->

<line x1="20" y1="20" x2="70" y2="20"  style="stroke:black"  />

<!--对角线-->

<line x1="20" y1="20" x2="70" y2="70"  style="stroke:black"  />

<!--垂直线-->

<line x1="20" y1="20" x2="20" y2="70"  style="stroke:black"  />

</svg>

【2】常用描边(stroke)属性集

1、描边属性可以添加到"style"属性中作为参数:

<line x1="20" y1="20" x2="70" y2="70" style="stroke:black" />

也可以独立地作为图形元素的属性:

<line x1="20" y1="20" x2="70" y2="70" stroke="black" />

二者显示出来的效果是一样的,唯一的不同就在于使用JavaScript进行编程时,取值和设值所使用的方法不太一样。

2、"stroke-width"属性

设置描边的宽度,取值为非负整数,默认值是1。如果设定为0值,就意味着不进行描边操作。

3、stroke-opacity属性

设置描边时的透明度,取值范围是从0~1。

4、stroke-dasharray属性

设置描边采用的线型,使用这个参数就可以产生虚线、点划线等多种线型效果,奇数位的数字代表实线的长度,偶数位的数字代表间隔空白的长度,所以这组数字一般情况下应该是偶数位。

5、stroke-linecap属性

设定描边端点形状,取值可以是"butt"(默认值)、"round"或"square"

6、stroke-linejoin属性

设定描边遇到线条交叉时,交点处的过度形状,取值可以是"miter"(默认值)、"round"或"bevel"。

【3】矩形:<rect>元素

x:表示矩形左上角顶点的X轴坐标,默认值为0;

y:表示矩形左上角顶点的Y轴坐标,默认值为0;

width:表示矩形的宽度,非负,如果为0则不显示该矩形;

height:表示矩形的高度,非负,如果为0则不显示该矩形;

rx:表示圆角矩形x轴方向的圆角半径,非负;

ry:表示圆角矩形y轴方向的圆角半径,非负;

【4】圆:<circle>元素

基本属性:一个圆心和一条半径就能定义一个圆。

cx:表示圆心的x轴坐标,默认值为0;

cy:表示圆心的y轴坐标,默认值为0;

r:圆的半径,非负,如果为0则不显示该圆;

【5】椭圆:<ellipse>元素

基本属性:

cx:表示椭圆中心的X轴坐标,默认值为0;

cy:表示椭圆中心的y轴坐标,默认值为0;

rx:表示椭圆X轴方向的半轴长度,非负,如果为0则不显示该椭圆;

ry:表示椭圆Y轴方向的半轴长度,非负,如果为0则不显示该椭圆;

【6】折线:<polyine>元素

如果需要绘制五角星、立方体等由较多线段组成的图形时,可以使用<polyline>元素。折线是又首尾相连的线段组成,只要指定关键点的坐标,就可以生成折线。

基本属性:

points="点坐标集合":表示关键点坐标的集合,点集合格式一共有3种,如下所示,SVG解析器会按不同格式自动解析。

注意:在<polylin>元素中如果不是封闭图形,最好设置成"fill:none",否则可能产生意想不到的结果。

【7】多边形:<polygon>元素

在svg中,只要给定多边形的顶点坐标,就能绘制出多边形,如图5-10所示。

基本属性:points="顶点坐标集合",表示顶点坐标的集合,点集合格式与<polyline>相同。

多边形区域局部填充("Full-rule" )

简单的多边形区域填充是很容易的,但是如果多边形的线段出现交叉的时候,就不太容易判断一个点到底是在它的内部还是外部,填充的情况就变得复杂了。svg提供了"Full-rule"属性来决定一个复杂路径的图形如何被填充,取值只有2个:"nonzero"(默认值)和"evenodd"

时间: 2024-10-14 04:42:04

SVG实战开发学习(二)——基本图形的相关文章

SVG实战开发学习(五)——装饰SVG图形

之前介绍过<defs>元素,它允许我们自定义图形元素.在本章中将要使用这个元素来定义SVG图形的色彩渐变.模式填充.剪裁和遮罩,还将介绍如何在svg中使用css样式表. [色彩渐变] svg中有两种色彩渐变:线性渐变和反射渐变.它们的渐变格式都被定义在<defs>元素中,然后在需要的SVG图元中引用它. 线性渐变——是沿着直线方向的色彩渐变过度,使用<linearGradient>元素来定义. 基本属性: id="GradientName":<

SVG实战开发学习(七)——文字与声音

[文字:<text>元素] 基本属性 x:文字左下角的X坐标,默认测量单位是当前用户坐标系单位,默认值是0. y:文字左下角的Y坐标. [<text>中嵌套<tspan>元素] 通过该元素就可以对同一个<text>元素内的文字位置.样式等属性进行单独或者部分设置,而不用再增加<text>元素. 基本属性: x:逐个定义文字左下角的X绝对坐标."+"号表示这是一个列表值(下同),列表值可以用逗号或者空格进行分割.如果是列表值则表

SVG实战开发学习(三)——路径

[三种基本的绘图指令] 1.移动到当前点( MoveTo )和绘制直线(LineTo) <path d=" M269 112, L217 163, L272 163, M257 149, L299 149, L249 200" fill="#ffffff" stroke="#000000" /> 解析:           指令                     实际绘制动作                    M269 11

Swift开发学习(二):Playground

Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用户体验.其实软件开发者自己也是用户,是各种开发工具的使用者,也会喜欢用户体验做得好的工具软件.这次苹果想开发者所想,提供了一个可以玩转swift的游乐场--Playground,它为开发着提供了方便.提供了乐趣. 原文作者:Power 转载请保留此链接. Playground可以干什么 快速练习swift 不需要编译.不需要点击执行,编写代码后直接看效果 是不是比脚本语言还方便? 开发者可以通过Playgr

初学者福利:java从零基础到真正大型企业的项目实战开发学习资源

乡亲们,快来围观啊,java初学者福利java从零基础到真正大型企业的项目实战开发学习资源合集,不必再花时间网上找了,精彩不容错过,以下是学习内容截图(更多精彩稍后推出,最新课程请加群之后,查看群公告): 下载链接: http://pan.baidu.com/s/1o6E8zhC,下载密码请加QQ群435604457.加群验证:java

吴裕雄--天生自然 R语言开发学习:基本图形(续二)

#---------------------------------------------------------------# # R in Action (2nd ed): Chapter 6 # # Basic graphs # # requires packages vcd, plotrix, sm, vioplot to be installed # # install.packages(c("vcd", "plotrix", "sm"

Android开发学习二:编写Helloworld

学习视频 [中文Android开发视频教学].01_03_say_hello_to_Android.mp4 参考网址: http://www.open-open.com/lib/view/open1386252535564.html

VUE2X实战开发随笔(二)

vue的单页面应用开发会把页面中所有的文件都会打包在build.js文件中,这样可能这个文件变得很大,对性能,体验都不是很好的选择: 单页面应用改为多页面应用的方法: 开始改造 最主要的一步,将webpack进行改造以满足对多页面需求的支持,其实多页面,即是webpack有多个入口.在此步中,我们主要的操作的对象是 build文件夹下的js文件. 首先,我们对 utils.js进行改造 添加一个方法:getEntries,方法中需要使用到node的globa模块,所以需要引入 // glob模块

java学习二输出图形示例

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Helvetica; min-height: 12.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Helvetica; color: #931a68 } p.p4 { margin: 0.0p