如何将动画gif加载到图片框然后删除原始文件?

时间:2012-01-15 19:16:07

标签: .net c#-2.0 picturebox animated-gif temporary-files

我想知道如何将动画gif加载到picturebox而不是删除原始文件?我知道如何使用简单的位图(http://support.microsoft.com/kb/814675/en-us?fr=1)来实现这一点,但是如何通过移动gif来实现这一点?如果有一些特殊的类或方法,有没有办法如何确定,如果临时文件(从我加载图片)是简单的位图或移动gif?

1 个答案:

答案 0 :(得分:0)

最后,我根据Hans的建议使用了slution。首先,我从文件中使用FromStream方法将gif加载到Image。比我用Image加载MemoryStream并将其转换为字节数组。现在我可以关闭两个流。在此之后,我使用TypeConverter从字节数组中恢复Image。我知道,它不是很优雅,但它有效。

Image imgTemp = Image.FromStream(ms);
imgTemp.Save(byteStream, imgTemp.RawFormat);
byte[] temparray = byteStream.ToArray();
TypeConverter tc = TypeDescriptor.GetConverter(typeof(Image));
Image newImage = (Image)tc.ConvertFrom(temparray);
this.m_Image.Image = null;
this.m_Image.Image = newImage;