i, Developer!

日历

  • RSS 什么是RSS?
    用IM提醒我内容更新
    订阅到QQ邮箱
    订阅到鲜果阅读器
    订阅到Google阅读器
    订阅到抓虾阅读器
  • 《城客》第四期:创意之城
    博客大巴
    博客大巴使用指南
    博客大巴模板中心
    免费注册博客大巴
    一键博客搬家工具
    中文互动杂志城客

flash网络社区游戏开发

专注于flash游戏及应用开发。技术博客
    <<  企鹅俱乐部(clubpenguin)的文件加载顺序 | 首页 | as3.0 效率优化文章  >>
  • RGB值转HSL值 - [AS3.0]

    2008-11-28

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://asfox.blogbus.com/logs/31921515.html



    在网上找了那么多公式 就这个准!
    //如:r=104 g=10 b=200
     function rgbToHsl(r:Number, g:Number, b:Number):Object {
      var h:Number,s:Number,l:Number;
      
       trace("r: ",r); 
        trace("g: ",g); 
         trace("b: ",b); 
      
      r/=255;
      g/=255;
      b/=255;
        
      var max : Number=Math.max(Math.max(r, g), b);
      var min : Number=Math.min(Math.min(r, g), b);
      
      l=(max+min)*0.5;
      if(max==min){
       h=0;
       s=0;
      }else{
       var d:Number=max-min;
      
       if(l<0.5){
        s=d/(max+min);
       }else {
        s=d/(2-(max+min));
       }
      
       if(max==r){
        h=(g-b)/d;
       }else if(max==g){
        h=2+(b-r)/d;
       }else if(max==b){
        h=4+(r-g)/d;
       }
       h*=0.16666666666666666666666666666667;
       if(h<0){
       h+=1;
       }
      
      }
      
      
            trace("h: ",Math.round(h*240)); 
      trace("s: ",Math.round(s*240)); 
      trace("l: ",Math.round(l*240)); 
       var obj:Object=new Object();
       obj.h=Math.round(h*240);
       obj.s=Math.round(s*240);
       obj.l=Math.round(l*240);
       return obj;
      }

    随机文章:

    移除事件侦听 2008-12-18
    as3.0 效率优化文章 2008-11-30
    error #2012: 无法实例化 SharedObject 类 2008-06-15
    checkbox的selected属性不好使 2008-06-13
    用AS3.0写的 一个简单火焰效果及原理 2008-02-04

    收藏到:Del.icio.us




    Tag:
    引用地址:
    发表于21:40:10 | 编辑 | 继续话题 | 转发 | 分享 0
Copyright © 2002-2009 BlogBus.com, All Rights Reserved. 博客大巴 版权所有
博客大巴模板设计:i,Developer! | 作者: Innocent Sin