| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash辅助软件 > 文章正文 用户登录
5GBFreephp空间
提供免费100GB的数
用Flash和FlashFo
[手机游戏]:关于t
追踪目标的简单实
在MDaemon中增加a
GB与BIG5内码转换
另类Msgbox
数据流在Filter G
用php实现gb2312和

RGB 色彩值进制转换器           

RGB 色彩值进制转换器

作者:佚名 来源:闪吧 作者: tigerkin 更新:2007-1-13 20:41:13 错误报告 我要投稿

做这个东东的目的是为了解释有人提出的,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:Number = parseInt(("0x" + rgbHex.slice(2, 4)), 16);
var gDec:Number = parseInt(("0x" + rgbHex.slice(4, 6)), 16);
var bDec:Number = parseInt(("0x" + rgbHex.slice(6, 8)), 16);
if (rgbHex.slice(0, 2) == "0x" && rDec < 256 && gDec < 256 && bDec < 256)
{
rgb_array.push(rDec);
rgb_array.push(gDec);
rgb_array.push(bDec);
return rgb_array;
}
return rgb_array;
}


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。