RGB颜色转HSL颜色

7 篇文章 0 订阅
2 篇文章 0 订阅

RGB颜色转HSL颜色:http://www.yansedaquan.com/YanSeDaQuan/

定义HSL对象 ,C#里定义是HSB,个人觉得两个是一样的,只是叫法不同而已。

    /// <summary>
    /// 通过色相(hues),饱和度(saturation),亮度(brightness)来表示颜色
    /// 在web颜色上叫HSL 色相(hues),饱和度(saturation), 亮度(Lightness)
    /// </summary>
    public class HSL
    {
        private double hue;
        private double saturation;
        private double brightness;

        /// <summary>
        /// 通过色相H(hues) 0 -- 360度
        /// </summary>
        public double H
        {
            get
            {
                return hue;
            }
            set
            {
                hue = (value > 360) ? 360 : ((value < 0) ? 0 : value);
            }
        }

        /// <summary>
        /// 饱和度S(saturation)1--100%
        /// </summary>
        public double S
        {
            get
            {
                return saturation;
            }
            set
            {
                saturation = (value > 1) ? 1 : ((value < 0) ? 0 : value);
            }
        }

        /// <summary>
        /// 亮度B(B,brightness或V,value L) 1--100%  Lightness
        /// </summary>
        public double L
        {
            get
            {
                return brightness;
            }
            set
            {
                brightness = (value > 1) ? 1 : ((value < 0) ? 0 : value);
            }
        }

        public HSL() { }

        public HSL(double h, double s, double b)
        {
            hue = (h > 360) ? 360 : ((h < 0) ? 0 : h);
            saturation = (s > 1) ? 1 : ((s < 0) ? 0 : s);
            brightness = (b > 1) ? 1 : ((b < 0) ? 0 : b);
        }
    }

然后,直接调用相关方法即可。。 

  public static HSL RGBtoHSL(Color color)
        {
           
            return new HSL()
            {
                H = color.GetHue(),
                L = color.GetBrightness(),
                S = color.GetSaturation(),
            };
        }

更多HSL颜色 参考: http://www.yansedaquan.com/HSLDaQuan/

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值