Class TGIFData (unit MPGifImg)

Inherits from

TObject

Constructors



Functions

procedure AddRef;

case

procedure Decode;

skips all blocks until block terminator

destructor Destroy;


function GetFrame(Index: integer): TBitmap;


procedure Release;


procedure CheckFrameIndex(Value: integer);

internal

procedure DecodeFrame(RasterData: TRasterData; Extensions: TList; ImageDescriptor: TImageDescriptor; Bitmap: TBitmap);

skips all blocks until block terminator } { decoder procedure

while C <> EndingCode


function GetColorResolution: byte;


function GetFrameCount: integer;


function GetGlobalColorTableSize: Cardinal;


function GetHasGlobalColorTable: boolean;


function GetHasSortedGlobalColorTable: boolean;


function GetInterval(Index: integer): Cardinal;


function GetSignature: string;

if

function GetVersion: string;


procedure LoadBlock(var BlockVars; Size: Cardinal);

pixel aspect ratio } { helper functions that act on the data stream

procedure LoadBlockAndSize(var BlockVars; Size: Cardinal);

data block from FData to BlockVars EXCLUDING block size

if


procedure LoadBlocksToStream(Stream: TStream);

data block into a string list - lengths are block sizes

while


procedure LoadBlocksToStrings(s: TStrings);

data block from FData to BlockVars INCLUDING block size

if


function LoadBlockToString: string;

data block into a stream, excluding block sizes

load a data block into a stream, excluding block sizes


procedure SetInterval(Index: integer; Value: Cardinal);


procedure SetIntervals(Value: Cardinal);


function SkipBlock: byte;

block into a string - blocksize is string length

load a block into a string - blocksize is string length


procedure SkipBlocks;

skips a block

skips a block


Properties

property BackgroundColorIndex : byte


property ColorResolution : byte


property Data : TMemoryStream


property Frame : TBitmap


property FrameCount : integer


property GlobalColorTableSize : Cardinal


property HasGlobalColorTable : boolean


property HasSortedGlobalColorTable : boolean


property Interval : Cardinal


property Intervals : Cardinal


property LogicalScreenHeight : word


property LogicalScreenWidth : word


property PackedFields : byte


property PixelAspectRatio : byte


property RefCount : longint


property Signature : string


property Version : string


Events

Variables

FBackgroundColorIndex : byte;

packed fields of image

FData : TMemoryStream;


FFrames : TMPOwnedObjectList;

actual data of GIF stream

FGlobalColorTable : TColorTable;

list of all TGIFFrames } { these values are filled when decoded

FLogicalScreenHeight : word;

logical screen width of image

FLogicalScreenWidth : word;

global color table if present

FPackedFields : byte;

logical screen height of image

FPixelAspectRatio : byte;

background transparent color index

FRefCount : longint;



Constructors


Functions


procedure AddRef;

case


procedure Decode;

skips all blocks until block terminator


destructor Destroy;


function GetFrame(Index: integer): TBitmap;


procedure Release;


procedure CheckFrameIndex(Value: integer);

internal


procedure DecodeFrame(RasterData: TRasterData; Extensions: TList; ImageDescriptor: TImageDescriptor; Bitmap: TBitmap);

skips all blocks until block terminator } { decoder procedure

while C <> EndingCode


function GetColorResolution: byte;


function GetFrameCount: integer;


function GetGlobalColorTableSize: Cardinal;


function GetHasGlobalColorTable: boolean;


function GetHasSortedGlobalColorTable: boolean;


function GetInterval(Index: integer): Cardinal;


function GetSignature: string;

if


function GetVersion: string;


procedure LoadBlock(var BlockVars; Size: Cardinal);

pixel aspect ratio } { helper functions that act on the data stream


procedure LoadBlockAndSize(var BlockVars; Size: Cardinal);

data block from FData to BlockVars EXCLUDING block size

if


procedure LoadBlocksToStream(Stream: TStream);

data block into a string list - lengths are block sizes

while


procedure LoadBlocksToStrings(s: TStrings);

data block from FData to BlockVars INCLUDING block size

if


function LoadBlockToString: string;

data block into a stream, excluding block sizes

load a data block into a stream, excluding block sizes


procedure SetInterval(Index: integer; Value: Cardinal);


procedure SetIntervals(Value: Cardinal);


function SkipBlock: byte;

block into a string - blocksize is string length

load a block into a string - blocksize is string length


procedure SkipBlocks;

skips a block

skips a block


Properties


property BackgroundColorIndex : byte


property ColorResolution : byte


property Data : TMemoryStream


property Frame : TBitmap


property FrameCount : integer


property GlobalColorTableSize : Cardinal


property HasGlobalColorTable : boolean


property HasSortedGlobalColorTable : boolean


property Interval : Cardinal


property Intervals : Cardinal


property LogicalScreenHeight : word


property LogicalScreenWidth : word


property PackedFields : byte


property PixelAspectRatio : byte


property RefCount : longint


property Signature : string


property Version : string


Events


Variables


FBackgroundColorIndex : byte;

packed fields of image


FData : TMemoryStream;


FFrames : TMPOwnedObjectList;

actual data of GIF stream


FGlobalColorTable : TColorTable;

list of all TGIFFrames } { these values are filled when decoded


FLogicalScreenHeight : word;

logical screen width of image


FLogicalScreenWidth : word;

global color table if present


FPackedFields : byte;

logical screen height of image


FPixelAspectRatio : byte;

background transparent color index


FRefCount : longint;