/// <summary>
        /// Saves the maze with a specified path
        /// Uses more memory then saving without a path (depending on the selected MazeSaveType)
        /// </summary>
        /// <param name="fileName">The filename of the file</param>
        /// <param name="imageFormat">The format the image should be saved in (I suggest Bmp or Png)</param>
        /// <param name="path">The path (can be generated by calling PathFinderDepthFirst.GoFind)</param>
        /// <param name="mazeSaveType">The bit depth the maze should be saved in.</param>
        public void SaveMazeAsImage(String fileName, ImageFormat imageFormat, List <MazePoint> path, MazeSaveType mazeSaveType)
        {
            switch (mazeSaveType)
            {
            case MazeSaveType.ColorDepth4Bits:
                SaveMazeAsImagePath4Bit(fileName, imageFormat, path);
                break;

            case MazeSaveType.ColorDepth32Bits:
                SaveMazeAsImagePath32Bit(fileName, imageFormat, path);
                break;

            default:
                throw new Exception("No mazeSaveType selected");
            }
        }
 /// <summary>
 /// Saves the maze with a specified path
 /// Uses more memory then saving without a path (depending on the selected MazeSaveType)
 /// </summary>
 /// <param name="fileName">The filename of the file</param>
 /// <param name="imageFormat">The format the image should be saved in (I suggest Bmp or Png)</param>
 /// <param name="path">The path (can be generated by calling PathFinderDepthFirst.GoFind)</param>
 /// <param name="mazeSaveType">The bit depth the maze should be saved in.</param>
 public void SaveMazeAsImage(String fileName, ImageFormat imageFormat, List<MazePoint> path, MazeSaveType mazeSaveType)
 {
     switch (mazeSaveType)
     {
         case MazeSaveType.ColorDepth4Bits:
             SaveMazeAsImagePath4Bit(fileName, imageFormat, path);
             break;
         case MazeSaveType.ColorDepth32Bits:
             SaveMazeAsImagePath32Bit(fileName, imageFormat, path);
             break;
         default:
             throw new Exception("No mazeSaveType selected");
     }
 }