我需要重新启动 gif 图像,以便它从第一帧开始。 我对 C# 中的 gif 图像没有什么经验。我在 C# Windows 窗体应用程序上工作。我的 gif 图像在图片框中。每次有人按下按钮时,我都需要重新启动它。
我试过:
pictureBox1.Image.SelectActiveFrame(new FrameDimension(pictureBox1.Image.FrameDimensionsList[0]), 0)
但它没有显示任何变化。
我也试过 Image animator 也没有运气。我的高中工程期末项目真的需要帮助。
最佳答案
我发现 Image.SelectActiveFrame()
似乎不起作用,因为它的工作方式与您想象的不同。如果有一些控件读取它的帧,它只是设置初始帧,第一个读取的帧是事件帧。因此,在 SelectActiveFrame()
之后,您必须将 pictureBox 的 Image
属性重新分配给该新图像,如下所示:
private void RestartToFrameIndex(int index){
pictureBox.Image.SelectActiveFrame(new FrameDimension(pictureBox.Image.FrameDimensionsList[0]), index);
pictureBox.Image = pictureBox.Image;
}
//If you want to restart to the first frame, just call the method above like this:
RestartToFrameIndex(0);
这是我刚刚找到的一般解决方案 :) 希望它能帮助其他人...
关于c# - 需要在gif中选择一个帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17008254/