मुझे एक छोटी सी समस्या है और मुझे कोई समाधान नहीं मिला है। मैं एक जीआईएफ को बाइट [] में बदलना चाहता हूं और फिर वापस एक जीआईएफ में बदलना चाहता हूं। मैं ठीक काम करता हूं लेकिन मैं एनीमेशन खो देता हूं।सी # gif छवि मेमोरीस्ट्रीम और पीछे (एनीमेशन खोना)
जब मैं शुरू करता हूं तो यह एक पूरी तरह से एनिमेटेड जीआईएफ है (मैं इसे PictureBox
तत्व में दिखाता हूं)। लेकिन रूपांतरण के बाद मैं पहले फ्रेम के साथ फंस गया।
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);
मैं भी RawFormat लेकिन System.Drawing.Imaging.ImageFormat.Gif
नहीं का उपयोग करने की कोशिश की। एक चीज़ नहीं बदली frames1
फ्रेम की सही संख्या है। frames2
1.
मेरे पास मेरे जीयूआई में 2 PictureBox
तत्व हैं। एक img
और अन्य img2
दिखा रहा है। लेकिन img2
एनिमेटेड नहीं है जबकि img
है। गलत क्या है?
मैंने अपने बाइट [] बनाने के बजाय क्रमबद्धता का उपयोग करने का भी प्रयास किया है।
मैंने छवि को क्रमबद्ध किया और इसे फिर से deserialized और यह कुछ भी नहीं बदला। यह कैसे संभव है?
जीडीआई + जीआईएफ एन्कोडर SaveAdd() और न ही एनिमेटेड gifs का समर्थन नहीं करता है। –
क्या आपने माना है कि यह जीआईएफ के साथ समस्या हो सकती है? मैंने बस इस [जीआईएफ] (http://www.creativetechs.com/iq/tip_images/ExampleAnimation.gif) के साथ अपने सटीक कोड की कोशिश की और इससे कोई समस्या नहीं हुई। 'Frames1' और' frames2' दोनों बराबर 17. –
और मैं वेब प्रतिक्रिया स्ट्रीम से एनिमेटेड gif को लोड और विज़ुअलाइज़ करने में सक्षम क्यों हूं? –