コード例 #1
0
        private CollageImage GetClosestImage(ColorValue templateValue)
        {
            CollageImage closest       = null;
            double       range         = int.MaxValue;
            ColorName    dominant      = templateValue.GetDominantColor();
            double       dominantValue = templateValue.GetDominantValue();

            for (int j = 0; j < CollageImages.Count(); ++j)
            {
                //double next = Math.Abs(CollageImages[j].ColorValues.GetColorValue(dominant) - dominantValue);
                double next = ColorDistance(CollageImages[j].ColorValues, templateValue);
                if (next < range)
                {
                    range   = next;
                    closest = CollageImages[j];
                }
            }
            return(closest);
        }