如何根据HSL值创建C#颜色?
答案 0 :(得分:13)
将以下行添加到代码文件中的“using”命名空间中:
using System.Runtime.InteropServices
并使用P / Invoke添加以下函数:
[DllImport("shlwapi.dll")]
public static extern int ColorHLSToRGB(int H, int L, int S);
在项目中您想要的任何课程。
如果您将色调,亮度和饱和度的颜色作为整数,则将这些值赋予该函数,并将所需的RGB颜色作为整数返回。 然后使用ColorTranslator.FromWin32将返回的rgb颜色转换为整数到System.Drawing.Color结构。
另一种方法是使用Color.FromArgb(Int32)重载方法,从该整数创建所需的颜色作为System.Drawing.Color结构。
另一种方法是创建 ColorConverter 类的实例,然后调用 ConvertFrom 方法,并为其提供从中返回的RGB颜色整数ColorHLSToRGB函数,或使用相同的第一个参数调用 ConvertTo 方法,但在第二个参数input typeof(System.Drawing.Color)
中调用。然后将返回的对象转换为System.Drawing.Color结构类型。
结果正是您所追求和期待的结果!
您还可以尝试其他算法或方法,您可以在互联网上搜索,查找和学习,如何将RGB颜色转换为整数到System.Drawing.Color结构或如何将HLS值转换为三个整数到系统.Drawing.Color结构!