public APNGBox(APNGLib.APNG png)
 {
     frameNum   = 0;
     apng       = png;
     buffer     = apng.ToBitmap(0);
     prevBuffer = null;
 }
Beispiel #2
0
        public Viewer()
        {
            InitializeComponent();
            using (FolderBrowserDialog fbd = new FolderBrowserDialog())
            {
                if (fbd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                {
                    return;
                }
                string   folder = fbd.SelectedPath;
                string[] files  = System.IO.Directory.GetFiles(folder, "*.png");
                foreach (string file in files)
                {
                    try
                    {
                        PictureBox pb = new PictureBox();
                        Bitmap     i  = (Bitmap)Bitmap.FromFile(file);
                        pb.Image = i;
                        pb.Size  = i.Size;
                        flowLayoutPanel2.Controls.Add(pb);
                    }
                    catch (Exception)
                    {
                        PictureBox pb = new PictureBox();
                        pb.Image       = pb.ErrorImage;
                        pb.BorderStyle = BorderStyle.FixedSingle;
                        flowLayoutPanel2.Controls.Add(pb);
                    }

                    try
                    {
                        APNGLib.APNG png = new APNGLib.APNG();
                        using (Stream s = File.OpenRead(file))
                        {
                            png.Load(s);
                        }
                        APNGBox pbA = new APNGBox(png);
                        flowLayoutPanel1.Controls.Add(pbA);
                        pbA.Start();
                        isStarted = true;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        PictureBox pbA = new PictureBox();
                        pbA.Image       = pbA.ErrorImage;
                        pbA.BorderStyle = BorderStyle.FixedSingle;
                        flowLayoutPanel1.Controls.Add(pbA);
                    }
                }
            }
        }