有没有办法改变内存流速度

本文关键字:速度 内存 改变 有没有 | 更新日期: 2023-09-27 18:33:47

我正在使用此方法在pictureBox1中显示我创建的动画gif。动画 gif 已经有了自己的速度。例如每秒 1 帧,或者我可以将其设置为每毫秒 1 帧。

        public void pictureBoxImage(string pbImage)
        {
            Image img2 = null;
            try
            {
                using (img = Image.FromFile(pbImage))
                {
                    Image i = this.pictureBox1.Image;
                    this.pictureBox1.Image = null;
                    if (i != null)
                        i.Dispose();
                    MemoryStream m = _memSt;
                    _memSt = new MemoryStream();
                    img.Save(_memSt, System.Drawing.Imaging.ImageFormat.Gif);
                    if (m != null)
                        m.Dispose();
                    img2 = Image.FromStream(_memSt);
                }
                if (img2 != null)
                    pictureBox1.Image = img2;
                label2.Text = numberOfFiles.ToString();
                label6.Text = nameOfStartFile.ToString();
                label4.Text = nameOfEndFile.ToString();
            }
            catch (Exception err)
            {
                Logger.Write("Animation Error >>>   " + err);
            }
        }

例如,pbImage 包含:

C:''previewDirectory''preview.gif

我的问题是,如果有任何方法可以更改 MemoryStream 可变速度,也许它会以不同的速度显示动画 gif ?或者,如果我硬盘上的动画速度文件gif保存为1ms的速度,例如,这就是速度并且无法更改?

我想在pictureBox1中使用hScrollBar来更改pictureBox1中显示的动画gif的速度。

有没有办法改变内存流速度

你混淆了事情。动画速度在 GIF 文件本身中定义。即定义每帧的显示时间。这完全与MemoryStreams或MemoryStreams的速度无关。

如果要更改动画速度,请使用图形或动画应用程序在 GIF 文件中进行更改。

你可以在这里做:http://ezgif.com/speed