''' <summary>
''' Gets the "distance" between two colors.
''' RGB colors must be normalized (eg. values in [0.0, 1.0]).
''' </summary>
''' <param name="r1">First color red component.</param>
''' <param name="g1">First color green component.</param>
''' <param name="b1">First color blue component.</param>
''' <param name="r2">Second color red component.</param>
''' <param name="g2">Second color green component.</param>
''' <param name="b2">Second color blue component.</param>
Public Shared Function GetColorDistance _
(ByVal r1 As Single, ByVal g1 As Single, ByVal b1 As _
Single _
, ByVal r2 As Single, ByVal g2 As Single, ByVal b2 As _
Single) As Single
Dim a As Single = r2 - r1
Dim b As Single = g2 - g1
Dim c As Single = b2 - b1
Return CSng(Math.Sqrt((a * a) + (b * b) + (c * c)))
End Function
''' <summary>
''' Gets the "distance" between two colors.
''' RGB colors must be normalized (eg. values in [0.0, 1.0]).
''' </summary>
''' <param name="color1">First color [r,g,b]</param>
''' <param name="color2">Second color [r,g,b]</param>
Public Shared Function GetColorDistance(ByVal color1 As NRGB, ByVal color2 _
As NRGB) As Single
Return GetColorDistance(color1.Red, color1.Green, color1.Blue, _
color2.Red, color2.Green, color2.Blue)
End Function
''' <summary>
''' Gets the "distance" between two colors.
''' </summary>
''' <param name="color1">First color.</param>
''' <param name="color2">Second color.</param>
Public Shared Function GetColorDistance(ByVal color1 As Color, ByVal color2 _
As Color) As Single
Return GetColorDistance(RGBtoNRGB(color1), RGBtoNRGB(color2))
End Function
''' <summary>
''' Gets the "distance" between two colors.
''' </summary>
''' <param name="color1">First color.</param>
''' <param name="color2">Second color.</param>
Public Shared Function GetColorDistance(ByVal color1 As Color, ByVal color2 _
As NRGB) As Single
Return GetColorDistance(RGBtoNRGB(color1), color2)
End Function
''' <summary>
''' Gets the "distance" between two colors.
''' </summary>
''' <param name="color1">First color.</param>
''' <param name="color2">Second color.</param>
Public Shared Function GetColorDistance(ByVal color1 As NRGB, ByVal color2 _
As Color) As Single
Return GetColorDistance(color1, RGBtoNRGB(color2))
End Function |