Bloom.Edit.JpegWarningDialog.GetNumberOfColors C# (CSharp) Method

GetNumberOfColors() private static method

private static GetNumberOfColors ( Bitmap bmp, int lineNumber ) : int
bmp System.Drawing.Bitmap
lineNumber int
return int
        private static int GetNumberOfColors(Bitmap bmp, int lineNumber)
        {
            if(lineNumber >= bmp.Height)
                return 0; //guard against math errors by the caller

            var colors = new HashSet<int>();
            for(var x = 0; x < bmp.Width; x++)
            {
                var pixel = bmp.GetPixel(x, lineNumber);
                int pixelColor = pixel.ToArgb();
                if (!colors.Contains(pixelColor))
                {
                    colors.Add(pixelColor);
                }
            }
            return colors.Count;
        }