⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorspace.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
			"CMY":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs).toCmy(); },			"CMYK":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs).toCmyk(); },			"HSL":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs).toHsl(); },			"HSV":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs).toHsv(); },			"Lab":function(obj, kwArgs){ return cMaps["XYZ"]["Lab"](cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs); },			"LCHab":function(obj, kwArgs){ return cMaps["Lab"]["LCHab"](cMaps["XYZ"]["Lab"](cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs), kwArgs); },			"Luv":function(obj, kwArgs){ return cMaps["LCHuv"]["Luv"](obj, kwArgs); },			"RGB":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs); },			"XYZ":function(obj, kwArgs){ return cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs); },			"xyY":function(obj, kwArgs){ return cMaps["XYZ"]["xyY"](cMaps["Luv"]["XYZ"](cMaps["LCHuv"]["Luv"](obj), kwArgs), kwArgs); },		},		"Luv":{ 			"CMY":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs).toCmy(); },			"CMYK":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs).toCmyk(); },			"HSL":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs).toHsl(); },			"HSV":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs).toHsv(); },			"Lab":function(obj, kwArgs){ return cMaps["XYZ"]["Lab"](cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs); },			"LCHab":function(obj, kwArgs){ return cMaps["Lab"]["LCHab"](cMaps["XYZ"]["Lab"](cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs), kwArgs); },			"LCHuv":function(obj, kwArgs){ return cMaps["Luv"]["LCHuv"](obj, kwArgs); },			"RGB":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs); },			"XYZ":function(obj, kwArgs){ return cMaps["Luv"]["XYZ"](obj, kwArgs); },			"xyY":function(obj, kwArgs){ return cMaps["XYZ"]["xyY"](cMaps["Luv"]["XYZ"](obj, kwArgs), kwArgs); },		},		"RGB":{ 			"CMY":function(obj, kwArgs){ return obj.toCmy(); },			"CMYK":function(obj, kwArgs){ return obj.toCmyk(); },			"HSL":function(obj, kwArgs){ return obj.toHsl(); },			"HSV":function(obj, kwArgs){ return obj.toHsv(); },			"Lab":function(obj, kwArgs){ return cMaps["XYZ"]["Lab"](obj.toXYZ(kwArgs), kwArgs); },			"LCHab":function(obj, kwArgs){ return cMaps["LCHab"]["Lab"](cMaps["XYZ"]["Lab"](obj.toXYZ(kwArgs), kwArgs), kwArgs);},			"LCHuv":function(obj, kwArgs){ return cMaps["LCHuv"]["Luv"](cMaps["XYZ"]["Luv"](obj.toXYZ(kwArgs), kwArgs), kwArgs);},			"Luv":function(obj, kwArgs){ return cMaps["XYZ"]["Luv"](obj.toXYZ(kwArgs), kwArgs); },			"XYZ":function(obj, kwArgs){ return obj.toXYZ(kwArgs); },			"xyY":function(obj, kwArgs){ return cMaps["XYZ"]["xyY"](obj.toXYZ(kwArgs), kwArgs); }		},		"XYZ":{ 			"CMY":function(obj, kwArgs){ return dxc.fromXYZ(obj, kwArgs).toCmy(); },			"CMYK":function(obj, kwArgs){ return dxc.fromXYZ(obj, kwArgs).toCmyk(); },			"HSL":function(obj, kwArgs){ return dxc.fromXYZ(obj, kwArgs).toHsl(); },			"HSV":function(obj, kwArgs){ return dxc.fromXYZ(obj, kwArgs).toHsv(); },			"Lab":function(obj, kwArgs){ return cMaps["XYZ"]["Lab"](obj, kwArgs); },			"LCHab":function(obj, kwArgs){ return cMaps["Lab"]["LCHab"](cMaps["XYZ"]["Lab"](obj, kwArgs), kwArgs); },			"LCHuv":function(obj, kwArgs){ return cMaps["Luv"]["LCHuv"](cMaps["XYZ"]["Luv"](obj, kwArgs), kwArgs); },			"Luv":function(obj, kwArgs){ return cMaps["XYZ"]["Luv"](obj, kwArgs); },			"RGB":function(obj, kwArgs){ return dxc.fromXYZ(obj, kwArgs); },			"xyY":function(obj, kwArgs){ return cMaps["XYZ"]["xyY"](dxc.fromXYZ(obj, kwArgs), kwArgs); }		},		// TODO: revisit this. xyY represents a single color, not a spectrum of colors.		"xyY":{ 			"CMY":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs).toCmy(); },			"CMYK":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs).toCmyk(); },			"HSL":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs).toHsl(); },			"HSV":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs).toHsv(); },			"Lab":function(obj, kwArgs){ return cMaps["Lab"]["XYZ"](cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs); },			"LCHab":function(obj, kwArgs){ return cMaps["LCHab"]["Lab"](cMaps["Lab"]["XYZ"](cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs), kwArgs); },			"LCHuv":function(obj, kwArgs){ return cMaps["LCHuv"]["Luv"](cMaps["Luv"]["XYZ"](cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs), kwArgs); },			"Luv":function(obj, kwArgs){ return cMaps["Luv"]["XYZ"](cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs); },			"RGB":function(obj, kwArgs){ return dxc.fromXYZ(cMaps["xyY"]["XYZ"](obj, kwArgs), kwArgs); },			"XYZ":function(obj, kwArgs){ return cMaps["xyY"]["XYZ"](obj, kwArgs); }		}	};	this.whitepoint=function(/* String */wpName, /* String? */observer){		observer=observer||"10";		var x=0, y=0, t=0;		if(wpMap[observer] && wpMap[observer][wpName]){			x=wpMap[observer][wpName].x;			y=wpMap[observer][wpName].y;			t=wpMap[observer][wpName].t;		} else {			console.warn(				"dojox.color.Colorspace::whitepoint: either the observer or the whitepoint name was not found. ", 				observer, wpName			);		}		var wp={ x:x, y:y, z:(1-x-y), t:t, Y:1 };		return this.convert(wp, "xyY", "XYZ");	};	this.tempToWhitepoint=function(/* Number */t){		if(t<4000){			console.warn("dojox.color.Colorspace::tempToWhitepoint: can't find a white point for temperatures less than 4000K. (Passed ", t, ").");			return { x:0, y:0 };		}		if(t>25000){			console.warn("dojox.color.Colorspace::tempToWhitepoint: can't find a white point for temperatures greater than 25000K. (Passed ", t, ").");			return { x:0, y:0 };		}		var t1=t, t2=t*t, t3=t2*t;		var ten9=Math.pow(10, 9), ten6=Math.pow(10, 6), ten3=Math.pow(10,3);		if(t<=7000){			var x=(-4.607*ten9/t3)+(2.9678*ten6/t2)+(0.09911*ten3/t)+0.2444063;		} else {			var x=(-2.0064*ten9/t3)+(1.9018*ten6/t2)+(0.24748*ten3/t)+0.23704;		}		var y=-3*x*x+2.87*x-0.275;		return { x:x, y:y };	};	this.primaries=function(/* Object */kwArgs){		//	mix in the defaults.		kwArgs=dojo.mixin({			profile:"sRGB",			whitepoint:"D65",			observer:"10",			adaptor:"Bradford"		}, kwArgs||{});		var m=[];		if(profiles[kwArgs.profile]){			m=profiles[kwArgs.profile].slice(0);		} else {			console.warn(				"dojox.color.Colorspace::primaries: the passed profile was not found.  ",				"Available profiles include: ", profiles, 				".  The profile passed was ", kwArgs.profile			);		}		var primary={			name:kwArgs.profile,			gamma:m[0], whitepoint:m[1], 			xr:m[2], yr:m[3], Yr:m[4],			xg:m[5], yg:m[6], Yg:m[7],			xb:m[8], yb:m[9], Yb:m[10]		};				//	convert for the whitepoint		if(kwArgs.whitepoint!=primary.whitepoint){			var r=this.convert(				this.adapt({					color:this.convert({ x:xr, y:yr, Y:Yr }, "xyY", "XYZ"),					adaptor:kwArgs.adaptor, 					source:primary.whitepoint, 					destination:kwArgs.whitepoint				}),				"XYZ",				"xyY"			);			var g=this.convert(				this.adapt({					color:this.convert({ x:xg, y:yg, Y:Yg }, "xyY", "XYZ"),					adaptor:kwArgs.adaptor, 					source:primary.whitepoint, 					destination:kwArgs.whitepoint				}),				"XYZ",				"xyY"			);			var b=this.convert(				this.adapt({					color:this.convert({ x:xb, y:yb, Y:Yb }, "xyY", "XYZ"),					adaptor:kwArgs.adaptor, 					source:primary.whitepoint, 					destination:kwArgs.whitepoint				}),				"XYZ",				"xyY"			);			primary=dojo.mixin(primary, {				xr: r.x, yr: r.y, Yr: r.Y,				xg: g.x, yg: g.y, Yg: g.Y,				xb: b.x, yb: b.y, Yb: b.Y,				whitepoint: kwArgs.whitepoint			});		}		return dojo.mixin(primary, {			zr: 1-primary.xr-primary.yr,			zg: 1-primary.xg-primary.yg,			zb: 1-primary.xb-primary.yb		});		//	Object	};	this.adapt=function(/* Object */kwArgs){		//	color is required in the form of XYZ, source whitepoint name is required.		if(!kwArgs.color || !kwArgs.source){			console.error("dojox.color.Colorspace::adapt: color and source arguments are required. ", kwArgs);		}		//	defaults		kwArgs=dojo.mixin({			adaptor:"Bradford",			destination:"D65"		}, kwArgs);		//	adapt		var swp = this.whitepoint(kwArgs.source);		var dwp = this.whitepoint(kwArgs.destination);		if(adaptors[kwArgs.adaptor]){			var ma=adaptors[kwArgs.adaptor].ma;			var mai=adaptors[kwArgs.adaptor].mai;		}else{			console.warn("dojox.color.Colorspace::adapt: the passed adaptor '", kwArgs.adaptor, "' was not found.");		}		var dSrc=dxm.multiply([[swp.x, swp.y, swp.z]], ma);		var dDest=dxm.multiply([[dwp.x, dwp.y, dwp.z]], ma);		var center=[			[dDest[0][0]/dSrc[0][0], 0, 0],			[0, dDest[0][1]/dSrc[0][1], 0],			[0, 0, dDest[0][2]/dSrc[0][2]]		];		var m=dxm.multiply(dxm.multiply(ma, center), mai);		var r=dxm.multiply([[ kwArgs.color.X, kwArgs.color.Y, kwArgs.color.Z ]], m)[0];		return { X:r[0], Y:r[1], Z:r[2] };	};	this.matrix=function(/* String */to, /* Object */primary){		var wp=this.whitepoint(primary.whitepoint);		var Xr = p.xr/p.yr, Yr = 1, Zr = (1-p.xr-p.yr)/p.yr;		var Xg = p.xg/p.yg, Yg = 1, Zg = (1-p.xg-p.yg)/p.yg;		var Xb = p.xb/p.yb, Yb = 1, Zr = (1-p.xb-p.yb)/p.yb;		var m1 = [[ Xr, Yr, Zr ], [ Xg, Yg, Zg ], [ Xb, Yb, Zb ]];		var m2 = [[ wp.X, wp.Y, wp.Z ]];		var sm = dojox.math.matrix.multiply(m2, dojox.math.matrix.inverse(m1));		var Sr = sm[0][0], Sg = sm[0][1], Sb = sm[0][2];		var result=[			[Sr*Xr, Sr*Yr, Sr*Zr],			[Sg*Xg, Sg*Yg, Sg*Zg],			[Sb*Xb, Sb*Yb, Sb*Zb]		];		if(to=="RGB"){ return dojox.math.inverse(result); }		return result;	};	this.epsilon=function(/* bool? */useApprox){		return (useApprox || typeof(useApprox)=="undefined")? 0.008856: 216/24289;	};	this.kappa=function(/* bool? */useApprox){		return (useApprox || typeof(useApprox)=="undefined")? 903.3: 24389/27;	};	this.convert=function(/* Object */color, /* string */from, /* string */to, /* Object? */kwArgs){		if(converters[from] && converters[from][to]){			return converters[from][to](obj, kwArgs);		}		console.warn("dojox.color.Colorspace::convert: Can't convert ", color, " from ", from, " to ", to, ".");	};})();//	More dojox.color and dojox.color.Color extensionsdojo.mixin(dojox.color, {	fromXYZ: function(/* Object */xyz, /* Object?*/kwArgs){		kwArgs=kwArgs||{};		var p=dojox.color.Colorspace.primaries(kwArgs);		var m=dojox.color.Colorspace.matrix("RGB", p);		var rgb=dojox.math.matrix.mutliply([[ xyz.X, xyz.Y, xyz.Z ]], m);		var r=rgb[0][0], g=rgb[0][1], b=rgb[0][2];		if(p.profile=="sRGB"){			var R = (r>0.0031308)?(1.055*Math.pow(r, 1/2.4))-0.055: 12.92*r;			var G = (g>0.0031308)?(1.055*Math.pow(g, 1/2.4))-0.055: 12.92*g;			var B = (b>0.0031308)?(1.055*Math.pow(b, 1/2.4))-0.055: 12.92*b;		}else{			var R=Math.pow(r, 1/p.gamma), G=Math.pow(g, 1/p.gamma), B=Math.pow(b, 1/p.gamma);		}		return new dojox.color.Color({ r:Math.floor(R*255), g:Math.floor(G*255), b:Math.floor(B*255) });	}});dojo.extend(dojox.color.Color, {	toXYZ: function(/* Object */kwArgs){		kwArgs=kwArgs||{};		var p=dojox.color.Colorspace.primaries(kwArgs);		var m=dojox.color.Colorspace.matrix("XYZ", p);		var _r=this.r/255, _g=this.g/255, _b=this.b/255;		if(p.profile=="sRGB"){			var r=(_r>0.04045) ? Math.pow(((_r+0.055)/1.055), 2.4):_r/12.92;			var g=(_g>0.04045) ? Math.pow(((_g+0.055)/1.055), 2.4):_g/12.92;			var b=(_b>0.04045) ? Math.pow(((_b+0.055)/1.055), 2.4):_b/12.92;		} else {			var r=Math.pow(_r, p.gamma), g=Math.pow(_g, p.gamma), b=Math.pow(_b, p.gamma);		}		var xyz=dojox.math.matrix([[ r, g, b ]], m);		return { X: xyz[0][0], Y: xyz[0][1], Z: xyz[0][2] };	//	Object	}});}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -