[System.Runtime.InteropServices.DllImport("shlwapi.dll")]
static extern void ColorRGBToHLS(int RGB, ref int H, ref int L, ref int S);
<System.Runtime.InteropServices.DllImport("shlwapi.dll", EntryPoint:="ColorRGBToHLSW", SetLastError:=True, CharSet:=System.Runtime.InteropServices.CharSet.Unicode)>
Private Shared Sub ColorRGBToHLS(RGB As Integer, ByRef H As Integer, ByRef L As Integer, ByRef S As Integer)
End Sub
None.
Do you know one? Please contribute it!
None.
Please add some!
In VB .NET you can get the H, S, and B or L values from then color structure:
'B, Brightness, a.k.a L Lightness, Luminance
DIM red as Color = Color.FromArbg(255,255,0,0)
DIM H, S, B As Single
H = red.GetHue
S = red.GetSaturation
B = red.GetBrightness
using System;
using System.Drawing;
using System.Runtime.InteropServices;
sealed class Win32
{
[DllImport("shlwapi.dll")]
static extern void ColorRGBToHLS(int RGB, ref int H, ref int L, ref int S);
//
//Convert System.Drawing.Color structure to HLS.
//
static public void ColorToHLS(System.Drawing.Color C,ref int H,ref int L,ref int S)
{
//
//Use ColorTranslator.ToWin32 rather than Color.ToArgb because we need 0x00BBGGRR,
//which is returned by ToWin32, rather than 0x00RRGGBB, which is returned by ToArgb.
//
ColorRGBToHLS(ColorTranslator.ToWin32(C), ref H, ref L, ref S);
}
}