我使用此方法在我创建的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保存为1毫秒的速度,那么这是速度而且无法更改?
我想在pictureBox1中使用hScrollBar来改变pictureBox1中显示的动画gif的速度。
答案 0 :(得分:4)
你很困惑。动画速度在GIF文件本身中定义。即定义每帧的显示时间。这与MemoryStreams或MemoryStreams的速度完全无关。
如果您想要更改动画速度,请使用图形或动画应用程序功能在GIF文件中更改它。
您可以在此处执行此操作:http://ezgif.com/speed