public ImageSequence(string folderPath)
        {
            CurrentImageSequenceConfig = GetConfig(Path.Join(folderPath, "animation.config"));
            Width  = CurrentImageSequenceConfig.Width;
            Height = CurrentImageSequenceConfig.Height;

            GetImages(folderPath);

            timer          = new Timer();
            timer.Interval = 1000 / CurrentImageSequenceConfig.Speed;
            timer.Elapsed += ChangeImage;
            timer.Start();
        }
        private ImageSequenceConfig GetConfig(string path)
        {
            var config = new ImageSequenceConfig();
            var file   = File.OpenText(path);

            while (!file.EndOfStream)
            {
                var line = file.ReadLine();
                if (line.Trim().StartsWith("#"))
                {
                    continue;
                }
                if (line.Trim().ToLower().StartsWith("speed"))
                {
                    var value = line.Trim().Split('=')[1];
                    config.Speed = int.Parse(value);
                }
                if (line.Trim().ToLower().StartsWith("count"))
                {
                    var value = line.Trim().Split('=')[1];
                    config.Count = int.Parse(value);
                }
                if (line.Trim().ToLower().StartsWith("width"))
                {
                    var value = line.Trim().Split('=')[1];
                    config.Width = int.Parse(value);
                }
                if (line.Trim().ToLower().StartsWith("height"))
                {
                    var value = line.Trim().Split('=')[1];
                    config.Height = int.Parse(value);
                }
            }

            return(config);
        }