/// <summary> /// Adds a frame to this animation. /// </summary> public void WriteFrame(IBitmapFrame Frame, int Delay) { _gifStream.Position = 0; if (_firstFrame) { if (Frame is RepeatFrame) { return; } _width = Frame.Width; _height = Frame.Height; } if (!(Frame is RepeatFrame)) { using (Frame) Frame.SaveGif(_gifStream); } // Steal the global color table info if (_firstFrame) { InitHeader(_gifStream, _writer, _width, _height); } WriteGraphicControlBlock(_gifStream, _writer, Delay); WriteImageBlock(_gifStream, _writer, !_firstFrame, 0, 0, _width, _height); if (_firstFrame) { _firstFrame = false; } }
public void SaveGif(Stream Stream) { _frame.SaveGif(Stream); }