SVG与perl SVG学习笔记

来源:互联网 发布:商家管理 源码 编辑:程序博客网 时间:2024/05/28 16:05

以前在861部队的时候学习的是特殊版本的SVG模块,一直以为使用的是正统的SVG,13年出来的时候才发现自己错的很离谱,所以重新学习了一下将笔记奉上~~~


SVG是定义对象的,在perl里面就是个对象要先创建:

my $svg = SVG->new(width=>300, height=>300);my $svg = SVG->new;

对于矩形来说rect:

x 属性定义矩形的左侧位置(例如,x="0" 定义矩形到浏览器窗口左侧的距离是 0px)
y 属性定义矩形的顶端位置(例如,y="0" 定义矩形到浏览器窗口顶端的距离是 0px)
rx 和 ry 属性可使矩形产生圆角。

style 属性用来定义 CSS 属性
CSS 的 fill 属性定义矩形的填充颜色(rgb 值、颜色名或者十六进制值)
CSS 的 stroke-width 属性定义矩形边框的宽度
CSS 的 stroke 属性定义矩形边框的颜色
CSS 的 fill-opacity 属性定义填充颜色透明度(0 - 1)
CSS 的 stroke-opacity 属性定义笔触颜色的透明度(0 - 1)
CSS 的 opacity 属性定义整个元素的透明值(0 - 1)

博主认为所有的style属性适用于所有的图形界面;

对于circle,cx 和 cy 属性定义圆点的 x 和 y 坐标。如果省略 cx 和 cy,圆的中心会被设置为 (0, 0),r 属性定义圆的半径;

对于ellipse,cx 属性定义圆点的 x 坐标,cy 属性定义圆点的 y 坐,标rx 属性定义水平半径,ry 属性定义垂直半径;

对于line、points、polygon、polyline、text差不多定义坐标即可;

path比较复杂,常用的是M、C、Z、L,大写表示绝对定位,小写表示相对定位;

对于渐变来说,<linearGradient> 标签必须嵌套在 <defs> 的内部。
当 y1 和 y2 相等,而 x1 和 x2 不同时,可创建水平渐变
当 x1 和 x2 相等,而 y1 和 y2 不同时,可创建垂直渐变
当 x1 和 x2 不同,且 y1 和 y2 不同时,可创建角形渐变


对于perl里面的模块来说:

#!/usr/bin/env perl use strict;use warnings;use SVG;my $svg = SVG->new;...print $svg->xmlify;
或者:
my $out = $svg->xmlify;open SF, ">tmp.svg";print SF $out;


0 0
原创粉丝点击