C#实现HSL颜色值转换为RGB的方法

作者:小卒过河 时间:2022-02-21 09:56:11 

本文实例讲述了C#实现HSL颜色值转换为RGB的方法。分享给大家供大家参考。具体实现方法如下:


//This method converts the values to RGB
public RgbColor HslToRgb(int Hue, int Saturation, int Lightness)
{
double num4 = 0.0;
double num5 = 0.0;
double num6 = 0.0;
double num = ((double)Hue) % 360.0;
double num2 = ((double)Saturation) / 100.0;
double num3 = ((double)Lightness) / 100.0;
if (num2 == 0.0)
{
 num4 = num3;
 num5 = num3;
 num6 = num3;
}
else
{
 double d = num / 60.0;
 int num11 = (int)Math.Floor(d);
 double num10 = d - num11;
 double num7 = num3 * (1.0 - num2);
 double num8 = num3 * (1.0 - (num2 * num10));
 double num9 = num3 * (1.0 - (num2 * (1.0 - num10)));
 switch (num11)
 {
  case 0:
   num4 = num3;
   num5 = num9;
   num6 = num7;
   break;
  case 1:
   num4 = num8;
   num5 = num3;
   num6 = num7;
   break;
  case 2:
   num4 = num7;
   num5 = num3;
   num6 = num9;
   break;
  case 3:
   num4 = num7;
   num5 = num8;
   num6 = num3;
   break;
  case 4:
   num4 = num9;
   num5 = num7;
   num6 = num3;
   break;
  case 5:
   num4 = num3;
   num5 = num7;
   num6 = num8;
   break;
 }
}
return new RgbColor((int)(num4 * 255.0), (int)(num5 * 255.0), (int)(num6 * 255.0));
}
//The structure that will hold the RGB Values
public struct RgbColor
{
public RgbColor(int r, int g, int b)
{
 red = r;
 green = g;
 blue = b;
}
public int red;
public int green;
public int blue;
}

希望本文所述对大家的C#程序设计有所帮助。

标签:C#,颜色,转换
0
投稿

猜你喜欢

  • Java如何将ResultSet结果集遍历到List中

    2022-07-01 06:30:46
  • java中transient关键字用法分析

    2022-01-22 04:27:05
  • Java语言多线程终止中的守护线程实例

    2023-11-25 07:48:52
  • SpringBoot的异常处理流程是什么样的?

    2021-07-09 17:54:40
  • 十种JAVA排序算法实例

    2022-11-11 00:19:54
  • java之swing表格实现方法

    2023-06-05 09:44:03
  • SpringMVC学习之JSTL条件行为和遍历行为详解

    2021-08-19 08:56:09
  • 浅析java 10中的var关键字用法

    2021-12-23 15:18:17
  • Java中的notyfy()和notifyAll()的本质区别

    2022-06-05 22:46:19
  • 轻量级声明式的Http库——Feign的独立使用

    2022-06-05 04:36:19
  • 基于Springboot实现JWT认证的示例代码

    2023-04-01 09:46:40
  • java 画pdf用itext调整表格宽度、自定义各个列宽的方法

    2021-07-12 04:16:10
  • 你真的知道Java中对象的销毁吗

    2022-09-14 22:31:38
  • 深入理解Java 类加载全过程

    2023-10-20 12:34:23
  • 基于C# 生成Zip压缩包代码

    2023-12-17 23:20:10
  • C#实现简单文本编辑器

    2022-04-28 06:42:30
  • 详解如何在SpringBoot中自定义参数解析器

    2023-07-24 16:06:51
  • Spring-Data-JPA整合MySQL和配置的方法

    2023-10-29 10:19:41
  • Java四种权限修饰符知识点详解

    2023-11-11 06:12:59
  • Java 多线程等待优雅的实现方式之Phaser同步屏障

    2023-11-29 09:47:43
  • asp之家 软件编程 m.aspxhome.com