RGB 色彩值进制转换器
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-12
做这个东东的目的是为了解释有人提出的,RGB 色彩值10进制与16进制之间的转换问题。 点击浏览该文件 点击浏览该文件 有的朋友想看源码,俺就贴出来,以供参考: // 十六进制输入框初始化 hexadecimalRGB_input.text = "0x"; hexadecimalRGB_input.restrict = "0-9a-fA-Fx"; hexadecimalRGB_input.maxChars = 8; // 十进制输入框初始化 decimalR_input.text = decimalG_input.text = decimalB_input.text = ""; decimalR_input.restrict = decimalG_input.restrict = decimalB_input.restrict = "0-9"; decimalR_input.maxChars = decimalG_input.maxChars = decimalB_input.maxChars = 3; // warning_dynamic.text = "使用说明:1)在输入框内输入相应的16进制或10进制RGB值;2)选择转换关系;3)点击<转换>按钮"; // // 添加 Enter 键侦听 var enterHandler:Object = new Object(); enterHandler.onKeyDown = function(e:Object) { if (Key.getCode() == 13) { rgbTransform(); } }; Key.addListener(enterHandler); // // 设定按钮事件及其处理函数 switch_btn.onRelease = rgbTransform; function rgbTransform() { // 清空错误提示 warning_dynamic.text = ""; // 根据转换选择判断 switch (rgbOptions.selection.data) { case 16210 : // 16进制到10进制 // // 合法性初步验证 if (hexadecimalRGB_input.length == 8) { // 进一步验证并转换 var resultValue:Array = rgbToDec(hexadecimalRGB_input.text); // 判断转换结果 if (resultValue.length == 3) { // 更新十进制输入框 decimalR_input.text = resultValue[0]; decimalG_input.text = resultValue[1]; decimalB_input.text = resultValue[2]; // 刷新色彩样本 var sampleColor:Color = new Color(sample_mc); sampleColor.setRGB(Number(hexadecimalRGB_input.text)); break; } } // 错误提示 warning_dynamic.text = "无效的十六进制色彩值!"; warning_dynamic.text += "\n有效输入:0x000000 -- 0xFFFFFF"; break; case 10216 : // 10进制到16进制 // // 字符串到数值 var numR:Number = parseInt(decimalR_input.text); var numG:Number = parseInt(decimalG_input.text); var numB:Number = parseInt(decimalB_input.text); // 合法性验证 if (numR < 256 && numG < 256 && numB < 256) { // 更新十六进制输入框 hexadecimalRGB_input.text = rgbToHex(numR, numG, numB); // 刷新色彩样本 var sampleColor:Color = new Color(sample_mc); //sampleColor.setRGB(parseInt(hexadecimalRGB_input.text, 16)); sampleColor.setRGB(Number(hexadecimalRGB_input.text)); } else { warning_dynamic.text = "无效的十进制色彩值!"; warning_dynamic.text += "\n有效输入:0 -- 255"; } break; } } // // RGB 十进制到十六进制 function rgbToHex(r:Number, g:Number, b:Number):String { var r_string:String = r.toString(16); var g_string:String = g.toString(16); var b_string:String = b.toString(16); r_string = (r_string.length < 2) ? ("0" + r_string) : r_string; g_string = (g_string.length < 2) ? ("0" + g_string) : g_string; b_string = (b_string.length < 2) ? ("0" + b_string) : b_string; return ("0x" + (r_string + g_string + b_string).toUpperCase()); } // // RGB 十六进制到十进制 function rgbToDec(rgbHex:String):Array { var rgb_array:Array = new Array(); var rDec:N |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: flash 打开我的文档等特殊文件夹下一篇: 用flash制作360度人物旋转
关于RGB 色彩值进制转换器的所有评论