C#实现HSL颜色值转换为RGB的方法
本文实例讲述了C#实现HSL颜色值转换为RGB的方法。分享给大家供大家参考。具体实现方法如下:
//ThismethodconvertsthevaluestoRGB
publicRgbColorHslToRgb(intHue,intSaturation,intLightness)
{
doublenum4=0.0;
doublenum5=0.0;
doublenum6=0.0;
doublenum=((double)Hue)%360.0;
doublenum2=((double)Saturation)/100.0;
doublenum3=((double)Lightness)/100.0;
if(num2==0.0)
{
num4=num3;
num5=num3;
num6=num3;
}
else
{
doubled=num/60.0;
intnum11=(int)Math.Floor(d);
doublenum10=d-num11;
doublenum7=num3*(1.0-num2);
doublenum8=num3*(1.0-(num2*num10));
doublenum9=num3*(1.0-(num2*(1.0-num10)));
switch(num11)
{
case0:
num4=num3;
num5=num9;
num6=num7;
break;
case1:
num4=num8;
num5=num3;
num6=num7;
break;
case2:
num4=num7;
num5=num3;
num6=num9;
break;
case3:
num4=num7;
num5=num8;
num6=num3;
break;
case4:
num4=num9;
num5=num7;
num6=num3;
break;
case5:
num4=num3;
num5=num7;
num6=num8;
break;
}
}
returnnewRgbColor((int)(num4*255.0),(int)(num5*255.0),(int)(num6*255.0));
}
//ThestructurethatwillholdtheRGBValues
publicstructRgbColor
{
publicRgbColor(intr,intg,intb)
{
red=r;
green=g;
blue=b;
}
publicintred;
publicintgreen;
publicintblue;
}
希望本文所述对大家的C#程序设计有所帮助。