Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29337097
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2009-03-19 11:40:19

1. SVG格式图形显示的坐标系统规则:

的两个坐标系是一致的,如果我们定义的SVG图形太大或者太不了,就可以使用“ViewBox“属性,重新定义视口的坐标范围,从而使默认的坐标度量单位也会随着改变。“ViewBox”属性的4个参数分别对应的是:左上角X坐标、左上角Y坐标、ViewBox的宽度和ViewBox的高度。请看下面这个元素的定义:


所有的渲染都是在某个矩形(视口,viewport)中发生。
SVG的客户端解释程序获得一些信息后(设备像素数所定义的高度值、宽度值,一个像素所代表的具体尺寸这样三个参数),首先初始化视口,建立以像素为单位的视口坐标系,接着建立用户坐标系,使两者一致,也就是使用户坐标系中的一个单位(如1m或1cm)等于视口坐标系中的一个像素。

还可以定义自己的坐标系。方式是在一段SVG文本中定义一种叫做变换(transformation)的格式,其含义类似于解析几何中的坐标转换和映射规则。变换的格式中说明了此变换所作用的对象应该使用设么方式进行平移、缩放、旋转、歪斜等。变换提供了一种整体的方式,用它可对一个或一组图像对象进行变换,改变其比例、位置、形状等,以达到使用自定义坐标系的目的。{transform="translate(0,50)"}

的width和height属性用于标记SVG图像渲染得初始视口大小。如果没有带单位,则使用用户坐标系的长度单位:像素。
  可以得到初始视口大小了!
用户坐标系:原点在视口左上角,x轴正向朝右,y轴正向朝下,文字从上到下从左到右。如果不进行坐标变换,一切都以初始坐标系为准。

  默认情况下,视口坐标系和用户坐标系一致,度量单位也一致(用户坐标系中的一个缺省单位代表视口坐标系中一个像素)。

用户的初始视口和初始坐标系是一致的。长度的缺省度量单位为像素。但如果元素中出现"ViewBox”属性,那么情况就不同了。"viewBox"的作用是规定视口的坐标范围,范围重新定义后,缺省的坐标度量单位也会改变。

意思是SVG文档的视口大小为4cm,坐标范围被标记为(0 0 400 400)。合理的解释可能是:视口为400乘400像素,而缺省的用户坐标系的度量单位变成0.01cm,而不是具体的一个像素。即相当于对整个SVG图像进行坐标变换。即可以理解为显示屏上1像素代表0.01cm。

与其它格式不同,Mobile SVG是开放式的基于XML,并独立于供应商,专为无线传输和显示而设计



阅读(1163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~