public static Logo LoadImageFromFile(string imagePath)
 {
     using (var image = Image.Load <Rgba32>(imagePath))
     {
         var fileInfo = new FileInfo(imagePath);
         var logo     = new Logo(Path.GetFileNameWithoutExtension(imagePath), image.Width, fileInfo.LastWriteTime);
         NormalizeColors(image);
         for (int x = 0; x < image.Width; x++)
         {
             var previousColor = image[x, image.Height - 1];
             var previousValue = image.Height - 1;
             for (int y = image.Height - 1; y >= 0; y--)
             {
                 var color = image[x, y];
                 if (!IsSimilar(previousColor, color))
                 {
                     logo.AddValue(x, previousValue - y, previousColor.ToHex());
                     previousColor = color;
                     previousValue = y;
                 }
             }
             logo.FinishColumn(x);
         }
         logo.Finish();
         return(logo);
     }
 }