コード例 #1
0
        private Animator(Stream sourceStream, Uri sourceUri, GifDataStream metadata, RepeatBehavior repeatBehavior, Image image)
        {
            //this.\u002Ector();
            this._sourceStream = sourceStream;
            this._sourceUri    = sourceUri;
            this._metadata     = metadata;
            this._image        = image;
            this._palettes     = Animator.CreatePalettes(metadata);
            this._bitmap       = Animator.CreateBitmap(metadata);
            GifLogicalScreenDescriptor screenDescriptor = metadata.Header.LogicalScreenDescriptor;

            this._stride             = 4 * ((screenDescriptor.Width * 32 + 31) / 32);
            this._previousBackBuffer = new byte[screenDescriptor.Height * this._stride];
            this._indexStreamBuffer  = Animator.CreateIndexStreamBuffer(metadata, this._sourceStream);
            this._timingManager      = this.CreateTimingManager(metadata, repeatBehavior);
        }