Ich versuche, zwei verschiedene gif-Datei in einer Datei zu kombinieren.In C#, vielleicht ist es ein Fehler für Image.SaveAdd, wer kann mir helfen, es zu lösen?
Zuerst habe ich viel über das gif-Format gelernt. Und ich weiß, dass der Wert der Verzögerungszeit in Graphics Control Extension eingestellt ist, welches ein Block der gif-Datei ist.
gespeichert ich die erste gif und stellen Sie den FrameDelay Wert, Code, wie unten:
ImageCodecInfo codeInfo = GetEncoder(ImageFormat.Gif);
System.Drawing.Imaging.Encoder saveEncoder = System.Drawing.Imaging.Encoder.SaveFlag;
EncoderParameters parameters = new EncoderParameters(1);
parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.MultiFrame);
PropertyItem PropertyTagFrameDelay = img1.GetPropertyItem(0x5100);
PropertyTagFrameDelay.Value = new byte[] { 0x96, 0x00 };// this is the delay value 0x0096, means 1.5 second
img1.SetPropertyItem(PropertyTagFrameDelay);
PropertyItem LoopCount = img1.GetPropertyItem(0x5101);
LoopCount.Value = new byte[] { 0x00, 0x00 };// this means the gif loops endlessly
img1.SetPropertyItem(LoopCount);
img1.Save(@"c:\ddd.gif", codeInfo, parameters);
Dann habe ich versucht, ein anderes Bild als zweiten Rahmen hinzuzufügen.
parameters = new EncoderParameters(1);
parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.FrameDimensionTime);
PropertyTagFrameDelay = img2.GetPropertyItem(0x5100);
PropertyTagFrameDelay.Value = new byte[] { 0x96, 0x00 };// this is the delay value 0x0096, means 1.5 second
img2.SetPropertyItem(PropertyTagFrameDelay);
Zuletzt sollte ich dieses Bild beenden.
parameters = new EncoderParameters(1);
parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.Flush);
img1.SaveAdd(parameters);
Und ich fand, dass die Verzögerungszeit des zweiten Rahmens ist immer 0.
habe ich versucht, eine Menge Methode, aber ich habe keine Ahnung, dass es als 0x96 zu machen.
Also was ist los damit?
Es wird einfach nicht von dem in GDI + eingebauten GIF-Encoder unterstützt. Das kann nicht funktionieren. –
wirklich? Ist es wahr?? –
OK, blöde Frage, aber nur um sicher zu sein: Du redest über animierte GIFs, oder? – RenniePet