[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 /* 2 DynAPI Distribution 3 dynapi.functions.Color extension 4 */ 5 6 var f = dynapi.functions; 7 f.Color = Color = {}; // used by dynapi.library 8 9 // Color Functions --------------------------- 10 11 f.DecToHex = function(val){ 12 lo=val%16; 13 val-=lo; 14 lo+=48; 15 if (lo>57) lo+=7; 16 hi=val/16; 17 hi+=48; 18 if (hi>57) hi+=7; 19 return String.fromCharCode(hi,lo); 20 }; 21 f.getColor = function(r,g,b) { 22 return '#'+dynapi.functions.DecToHex(r)+dynapi.functions.DecToHex(g)+dynapi.functions.DecToHex(b); 23 }; 24 f.getRandomColor = function() { 25 var s = ''; 26 for (var i=0;i<3;i++) s += dynapi.functions.DecToHex(Math.floor(255*Math.random())); 27 return s; 28 }; 29 f.createRedPal = function(pal) { 30 var r=g=b=0; 31 for (var i=0; i<256; i++){ 32 pal[i]=dynapi.functions.getColor(r,g,b); 33 r+=8; 34 if (r>255) { r=255; g+=6; b+=2; } 35 if (g>255) { g=255; b+=2; } 36 if (b>255) { b=255; } 37 } 38 }; 39 f.createGrayPal = function(pal) { 40 var r=0; 41 for (var i=0; i<256; i++){ 42 pal[i]=dynapi.functions.getColor(r,r,r); 43 r+=4; 44 if (r>255) { r=255; } 45 } 46 }; 47 f.createBluePal = function(pal){ 48 var r=g=b=0; 49 for (var i=0; i<256; i++){ 50 pal[i]=dynapi.functions.getColor(r,g,b); 51 b+=6; 52 if (b>255) { b=255; g+=2; } 53 if (g>255) { g=255; r+=2; } 54 } 55 }; 56 f.createGreenPal = function(pal) { 57 var r=g=b=0; 58 for (var i=0; i<256; i++){ 59 pal[i]=dynapi.functions.getColor(r,g,b); 60 g+=6; 61 if (g>255) { g=255; b+=2; } 62 if (b>255) { b=255; r+=2; } 63 } 64 }; 65 f.fadeColor = function(from, to, percent){ 66 if(!from || !to) return; 67 if(percent<0) return from; 68 else if(percent>100) to; 69 70 if(from.substring(0,1)!='#') from='#'+from; 71 if(to.substring(0,1)!='#') to='#'+to; 72 73 from = { 74 red:parseInt(from.substring(1,3),16), 75 green:parseInt(from.substring(3,5),16), 76 blue:parseInt(from.substring(5,7),16) 77 } 78 79 to = { 80 red:parseInt(to.substring(1,3),16), 81 green:parseInt(to.substring(3,5),16), 82 blue:parseInt(to.substring(5,7),16) 83 } 84 85 var r=from.red+Math.round((percent/100)*(to.red-from.red)); 86 var g=from.green+Math.round((percent/100)*(to.green-from.green)); 87 var b=from.blue+Math.round((percent/100)*(to.blue-from.blue)); 88 89 r = (r < 16 ? '0' : '') + r.toString(16); 90 g = (g < 16 ? '0' : '') + g.toString(16); 91 b = (b < 16 ? '0' : '') + b.toString(16); 92 93 return '#' + r + g + b; 94 };
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |