Exemplo n.º 1
0
 /// <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)));
 }
Exemplo n.º 2
0
        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;
     }
 }