KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a small problem and I do not find any solutions. I want to convert a GIF to a byte[] and then back to a GIF. I works fine but I lose the animation. It is a perfectly animated GIF when I start (I show it in a PictureBox element). But after conversion I get stuck with the first frame. HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("creativetechs.com/i/tip_images/ExampleAnimation.gif"); HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse(); Stream stream = httpWebReponse.GetResponseStream(); Image img = Image.FromStream(stream); MemoryStream ms = new MemoryStream(); img.Save(ms,img.RawFormat); byte [] bytes = ms.ToArray(); Image img2 = Image.FromStream(new MemoryStream(bytes)); int frames1 = img.GetFrameCount(System.Drawing.Imaging.FrameDimension.Time); int frames2 = img2.GetFrameCount(System.Drawing.Imaging.FrameDimension.Time); I also tried to use not RawFormat but System.Drawing.Imaging.ImageFormat.Gif . Didn't change a thing. frames1 is right number of frames. frames2 is 1. I have 2 PictureBox elements in my GUI. One showing img and the other img2 . But img2 is not animated while img is. What is wrong? I have also tried to use serialization instead to create my byte[]. I serialized the image and deserialized it again and it didn't change anything either. How is this possible?
Tags (comma-separated)
Save Edits
Cancel