Dojo学习笔记(9. dojo.graphics.color & dojo.uri.Uri)
下面是dojo里定义的颜色名称
dojo.graphics.color.named.white//白色
dojo.graphics.color.named.black//黑色
dojo.graphics.color.named.red//红色
dojo.graphics.color.named.green//绿色
dojo.graphics.color.named.blue//蓝色
dojo.graphics.color.named.navy//海军蓝
dojo.graphics.color.named.gray//灰色
dojo.graphics.color.named.silver//银色
dojo.graphics.color.Color
颜色类
Usage Example:
var color = new dojo.graphics.color.Color(dojo.graphics.color.named.black); //定义一个黑色的颜色对象
var color = new dojo.graphics.color.Color(0,0); //定义一个黑色的颜色对象
var color = new dojo.graphics.color.Color(0,1.0); //定义一个黑色的颜色对象
var color = new dojo.graphics.color.Color([0,1.0]); //定义一个黑色的颜色对象
var color = new dojo.graphics.color.Color('rgb(0,0)'); //定义一个黑色的颜色对象
var color = new dojo.graphics.color.Color('#000000'); //定义一个黑色的颜色对象
dojo.graphics.color.Color.toRgb
Usage Example:
color.toRgb();//返回一个[0,0]的数组
color.toRgb(true);//返回一个[0,1.0]的数组
dojo.graphics.color.Color.toRgba
Usage Example:
color.toRgba();//返回一个[0,1.0]的数组
dojo.graphics.color.Color.toHex
dojo.graphics.color.Color.toString
Usage Example:
color.toHex();//返回"#000000"
color.toString();//返回"#000000"
dojo.graphics.color.Color.toCss
Usage Example:
color.toCss();//返回"rgb(0,0)"
dojo.graphics.color.Color.blend
混合另一个颜色得到一个新颜色
Usage Example:
color.blend('#ffffff',1);//返回[255,255,255]
color.blend('#ffffff',-1);//返回[0,0]
color.blend('#ffffff',0);//按1比1混合黑色和白色,返回[127,127,127]
颜色参数可以为颜色的任意形式,比如数组,字符串等
or
dojo.graphics.color.blend([0,0],[255,255],0);//will return [127,127]
dojo.graphics.color.blend("#000000","#ffffff",0);//will return "#7f7f7f"
若第一个参数为字符串,则返回值也会返回字符串
dojo.graphics.color.Color.blendHex
Usage Example:
dojo.graphics.color.blendHex("#000000",0);//will return "#7f7f7f"
dojo.graphics.color.extractRGB
将输入转换为RGB数组
dojo.graphics.color.hex2rgb
将输入的字符串转换为RGB数组
dojo.graphics.color.rgb2hex
将输入的RGB数组转换为字符串
dojo.graphics.color.Color.fromArray
Usage Example:
var color = dojo.graphics.color.Color.fromArray([0,1.0]);
模块:dojo.uri.Uri
dojo.uri.Uri
专门用来处理URI(统一资源标识符)的类
Usage Example:
uri = (new dojo.uri.Uri("http://myserver/dojo/","guide.html")).toString();//uri will be "http://myserver/dojo/guide.html"
uri = (new dojo.uri.Uri("http://myserver/dojo/","../guide.html")).toString();//uri will be "http://myserver/guide.html"
RFC规定的URI语法:[scheme:][//authority][path][?query][#fragment]
authority语法:[user-info@]host[:port]
比如我们定义一个uri
var uri = new dojo.uri.Uri("http://user:password@myserver:80/dojo/","guide.html?page=1#top");
则uri的属性如下:
authority: 服务器名 "user:password@myserver:80"
fragment:片断名 "top"
host: 主机名 "myserver"
password: 密码 "password"
path: 路径 "/dojo/guide.html"
port: 端口 80
query: 参数 "page=1"
scheme: 模式 "http"
uri: 完整的地址 " http://user:password@myserver:80/dojo/guide.html?page=1" user: 用户名 "user:" 似乎有点问题,多了一个冒号