color.aspx
上传用户:lanchensha
上传日期:2022-02-27
资源大小:7530k
文件大小:8k
源码类别:

编辑器/阅读器

开发平台:

C#

  1. <%@ Page language="c#" AutoEventWireup="true" %>
  2. <%@ Import Namespace="DotNetTextBox" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title><%=ResourceManager.GetString("customcolor")%></title>
  7. <meta http-equiv="pragma" content="no-cache" />
  8. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  9. <base target="_self" />
  10. <link href="stylesheet.css" rel="stylesheet" type="text/css" />
  11. <script language="JavaScript" type="text/javascript">
  12. var userAgent = navigator.userAgent.toLowerCase();
  13. var is_ie = (userAgent.indexOf('msie') != -1);
  14. var SelRGB = '#000000';
  15. var DrRGB = '';
  16. var SelGRAY = '120';
  17. var type;
  18. Request = {
  19. QueryString : function(item){
  20. var svalue = location.search.match(new RegExp("[?&]" + item + "=([^&]*)(&?)","i"));
  21. return svalue ? svalue[1] : svalue;
  22. }
  23. }
  24. if (!is_ie)
  25. {
  26. type=Request.QueryString("type");
  27. }
  28. var hexch = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
  29. // 声明一个全局对象Namespace,用来注册命名空间
  30. Namespace = new Object();
  31. // 全局对象仅仅存在register函数,参数为名称空间全路径,如"Grandsoft.GEA"
  32. Namespace.register = function(fullNS)
  33. {
  34. // 将命名空间切成N部分, 比如Grandsoft、GEA等
  35. var nsArray = fullNS.split('.');
  36. var sEval = "";
  37. var sNS = "";   for (var i = 0; i < nsArray.length; i++)
  38. {
  39. if (i != 0) sNS += ".";
  40. sNS += nsArray[i];
  41. // 依次创建构造命名空间对象(假如不存在的话)的语句
  42. // 比如先创建Grandsoft,然后创建Grandsoft.GEA,依次下去
  43. sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"
  44. }
  45. if (sEval != "") eval(sEval);
  46. }
  47. // 注册命名空间Grandsoft.GEA, Grandsoft.GCM
  48. Namespace.register("SelectColor");
  49. SelectColor.Obj = function(){}
  50. SelectColor.Obj.prototype = {
  51. getRGB  :function (){    return document.getElementById("RGB");},
  52. getGRAY :function (){    return document.getElementById("GRAY");},
  53. getGrayTable    :function (){    return document.getElementById("GrayTable");},
  54. getSelColor     :function (){    return document.getElementById("SelColor");},
  55. getShowColor    :function (){    return document.getElementById("ShowColor");}
  56. }
  57. var colorObj = new SelectColor.Obj;
  58. //设置颜色
  59. SelectColor.setColor = function (color)
  60. {
  61. colorObj.getGRAY().innerHTML = "120";
  62. colorObj.getRGB().innerHTML = color;
  63. SelRGB = color;
  64. this.EndColor();
  65. }
  66. SelectColor.ToHex = function (n)
  67. {
  68. var h, l;
  69. n = Math.round(n);
  70. l = n % 16;
  71. h = Math.floor((n / 16)) % 16;
  72. return (hexch[h] + hexch[l]);
  73. }
  74. SelectColor.DoColor = function (c, l)
  75. {
  76. var r, g, b;
  77. r = '0x' + c.substring(1, 3);
  78. g = '0x' + c.substring(3, 5);
  79. b = '0x' + c.substring(5, 7);
  80. if(l > 120)
  81. {
  82. l = l - 120;
  83. r = (r * (120 - l) + 255 * l) / 120;
  84. g = (g * (120 - l) + 255 * l) / 120;
  85. b = (b * (120 - l) + 255 * l) / 120;
  86. }
  87. else
  88. {
  89. r = (r * l) / 120;
  90. g = (g * l) / 120;
  91. b = (b * l) / 120;
  92. }
  93. return '#' + this.ToHex(r) + this.ToHex(g) + this.ToHex(b);
  94. }
  95. SelectColor.EndColor = function ()
  96. {
  97. var i;
  98. if(DrRGB != SelRGB)
  99. {
  100. DrRGB = SelRGB;
  101. for(i = 0; i <= 30; i ++)
  102. {
  103. colorObj.getGrayTable().rows[i].style.backgroundColor = this.DoColor(SelRGB, 240 - i * 8);
  104. }
  105. }
  106. colorObj.getSelColor().value = this.DoColor(colorObj.getRGB().innerHTML, colorObj.getGRAY().innerHTML );
  107. colorObj.getShowColor().style.backgroundColor = colorObj.getSelColor().value;
  108. }
  109. SelectColor.GetFirefoxColorValue = function (c)
  110. {
  111. var r, g, b;
  112. var ch = c.substring(4, c.length -1);
  113. var chs = new Array();
  114. chs = ch.split(",");
  115. r = chs [0];//'0x' + ch.substring(1, 3);
  116. g = chs [1];//'0x' + ch.substring(3, 5);
  117. b = chs [2];//'0x' + ch.substring(5, 7);
  118. return '#' + this.ToHex(r) + this.ToHex(g) + this.ToHex(b);
  119. }
  120. //事件
  121. SelectColor.clickColorTable = function (event)
  122. {
  123. if(event.srcElement!=null )
  124. {
  125. eventObj = event.srcElement;
  126. SelRGB = eventObj.style.backgroundColor.toUpperCase();
  127. }
  128. else
  129. {
  130. eventObj = event.target
  131. SelRGB = this.GetFirefoxColorValue(eventObj.style.backgroundColor.toUpperCase());
  132. }
  133. this.EndColor();
  134. }
  135. SelectColor.mouseoverColorTable = function (event)
  136. {
  137. if(event.srcElement!=null )
  138. {
  139. eventObj = event.srcElement;
  140. colorObj.getRGB().innerHTML = eventObj.style.backgroundColor.toUpperCase();
  141. }
  142. else
  143. {
  144. eventObj = event.target
  145. colorObj.getRGB().innerHTML = this.GetFirefoxColorValue(eventObj.style.backgroundColor.toUpperCase());
  146. }
  147. this.EndColor();
  148. }
  149. SelectColor.mouseoutColorTable = function (event)
  150. {
  151. colorObj.getRGB().innerHTML = SelRGB;
  152. this.EndColor();
  153. }
  154. SelectColor.clickGrayTable = function (event)
  155. {
  156. var eventObj;
  157. if(event.srcElement!=null )
  158. {
  159. eventObj = event.srcElement;
  160. }
  161. else
  162. {
  163. eventObj = event.target
  164. }
  165. SelGRAY = eventObj.title;
  166. this.EndColor();
  167. }
  168. SelectColor.mouseoverGrayTable = function (event)
  169. {
  170. var eventObj;
  171. if(event.srcElement!=null )
  172. {
  173. eventObj = event.srcElement;
  174. }
  175. else
  176. {
  177. eventObj = event.target
  178. }
  179. colorObj.getGRAY().innerHTML = eventObj.title;
  180. this.EndColor();
  181. }
  182. SelectColor.mouseoutGrayTable = function (event)
  183. {
  184. colorObj.getGRAY().innerHTML = SelGRAY;
  185. this.EndColor();
  186. }
  187. function insertColor()
  188. {
  189. if (is_ie)
  190. {
  191.   window.returnValue = document.getElementById("SelColor").value;
  192. }
  193. else
  194. {
  195. if(type!="forecolor")
  196. {
  197. window.opener.inserObject(null,type,document.getElementById("SelColor").value);
  198. }
  199. else
  200. {
  201. window.opener.format(null,type,document.getElementById("SelColor").value);
  202. }
  203. }
  204.   window.close();
  205. }
  206. window.focus();
  207. </script>
  208. </head>
  209. <body topmargin="2">
  210. <center>
  211. <table cellspacing="10"  border="1"  width="265" cellpadding="0">
  212. <tr>
  213. <td>
  214. <table id="ColorTable" style="border: 0; cursor: pointer;" cellspacing="0" cellpadding="0"
  215. onclick="SelectColor.clickColorTable(event)" onmouseover="SelectColor.mouseoverColorTable(event)"
  216. onmouseout="SelectColor.mouseoutColorTable(event)">
  217. <script language="JavaScript" type="text/javascript">
  218. function wc(r, g, b, n)
  219. {
  220. r = ((r * 16 + r) * 3 * (15 - n) + 0x80 * n) / 15;
  221. g = ((g * 16 + g) * 3 * (15 - n) + 0x80 * n) / 15;
  222. b = ((b * 16 + b) * 3 * (15 - n) + 0x80 * n) / 15;
  223. document.write('<td style="background-color:#' + SelectColor.ToHex(r) + SelectColor.ToHex(g) + SelectColor.ToHex(b) + '; height:8px; width:8px;"></td>');
  224. }
  225. var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);
  226. for(i = 0; i < 16; i ++)
  227. {
  228. document.write('<tr>');
  229. for(j = 0; j < 30; j ++)
  230. {
  231. n1 = j % 5;
  232. n2 = Math.floor(j / 5) * 3;
  233. n3 = n2 + 3;
  234. wc((cnum[n3] * n1 + cnum[n2] * (5 - n1)),
  235. (cnum[n3 + 1] * n1 + cnum[n2 + 1] * (5 - n1)),
  236. (cnum[n3 + 2] * n1 + cnum[n2 + 2] * (5 - n1)), i);
  237. }
  238. document.writeln('</tr>');
  239. }
  240. </script>
  241. </table>
  242. </td>
  243. <td>
  244. <table id="GrayTable" style="border: 0; cursor: pointer;" cellspacing="0" cellpadding="0"
  245. onclick="SelectColor.clickGrayTable(event)" onmouseover="SelectColor.mouseoverGrayTable(event)"
  246. onmouseout="SelectColor.mouseoutGrayTable(event)">
  247. <script language="JavaScript" type="text/javascript">
  248. for(i = 255; i >= 0; i -= 8.5)
  249. {
  250. document.write('<tr style="background-color:#' + SelectColor.ToHex(i) + SelectColor.ToHex(i) + SelectColor.ToHex(i) + ';"><td title="' + Math.floor(i * 16 / 17) + '" style="height:4px;width:20px;" ></td></tr>');
  251. }
  252. </script>
  253. </table>
  254. </td>
  255. </tr>
  256. </table>
  257. </center>
  258. <table align="center" border="1" cellpadding="0" cellspacing="10" width="265">
  259. <tr>
  260. <td align="center" rowspan="2">
  261. <table id="ShowColor" border="0" cellpadding="0" cellspacing="0" height="30" width="80">
  262. <tr>
  263. <td>
  264. </td>
  265. </tr>
  266. </table>
  267. <input class="text" size="7" id="SelColor" onblur="SelectColor.setColor(value)" value="#000000"  type="text" />
  268. </td>
  269. <td rowspan="2" style="line-height: 16pt" width="85">
  270. <%=ResourceManager.GetString("basecolor")%>:<span id="RGB">#000000</span><br />
  271. <%=ResourceManager.GetString("brightness")%>:<span id="GRAY">120</span>
  272. </td>
  273. <td align="center" style="width: 55px; height: 33px">
  274. <input class="button" type="button" onclick="insertColor()" value="<%=ResourceManager.GetString("ok")%>" />
  275. </td>
  276. </tr>
  277. <tr>
  278. <td align="center" style="width: 55px; height: 31px">
  279. <input class="button" onclick="window.close();" type="button" value="<%=ResourceManager.GetString("close2")%>" />
  280. </td>
  281. </tr>
  282. </table>
  283. <script language=javascript>
  284. if(is_ie)
  285. {
  286. document.body.bgColor="ButtonFace";
  287. }
  288. else
  289. {
  290. document.body.bgColor="#E0E0E0";
  291. }
  292. </script>
  293. </body>
  294. </html>