/// <summary> /// The length (the absolute value) of the vector spanned by /// the point (<paramref name="triple1"/>) and the /// point (<paramref name="triple2"/>). /// </summary> /// <param name="triple1">The triple1.</param> /// <param name="triple2">The triple2.</param> /// <returns> /// The length (the absolute value) of the vector. /// </returns> public static float Distance(ColorTriple triple1, ColorTriple triple2) { return((float)Math.Sqrt( Math.Pow(triple1.A - triple2.A, 2) + Math.Pow(triple1.B - triple2.B, 2) + Math.Pow(triple1.C - triple2.C, 2))); }
private unsafe void SetGrayscaleValue( byte *dst, ColorTriple ct, double a, double b, double c) { switch (ColorTriple) { case ColorTripleEnum.A: *dst = (byte)(ct.A * 255 / a + 0.5f); break; case ColorTripleEnum.B: *dst = (byte)(ct.B * 255 / b + 0.5f); break; case ColorTripleEnum.C: *dst = (byte)(ct.C * 255 / c + 0.5f); break; } }
private unsafe void SetGrayscaleValue( byte *dst, ColorTriple ct, double a, double b, double c) { switch (ColorTriple) { case ColorTripleEnum.A: *dst = (byte)(ct.A * 255 / a + 0.5f); break; case ColorTripleEnum.B: *dst = (byte)(ct.B * 255 / b + 0.5f); break; case ColorTripleEnum.C: *dst = (byte)(ct.C * 255 / c + 0.5f); break; } }