===========================================================================
TGif - This is the actual gif object
Register - ---------------------------------------------------------------------------
GraphicLine
PBmLine
TBmpLinesStruct
TColorItem
TColorTable
TDataSubBlock
THeader
TImageDescriptor
TLogicalScreenDescriptor
MAXCODES
procedure Register;
---------------------------------------------------------------------------
GraphicLine = packed array [0..2048] of byte;
the data
PBmLine = ^TBmpLinesStruct
TBmpLinesStruct = record
LineData : GraphicLine;
LineNo : Integer;
end;
TColorItem = record
Red : byte;
Green : byte;
Blue : byte;
end;
maximum number of different codes 0 incl.
TColorTable = packed array[0..255] of TColorItem;
TDataSubBlock = record
Size : byte;
Data : array[0..255] of byte;
end;
'87a' or '89a'
THeader = record
Signature :
array[0..2] of char;
Version :
array[0..2] of char;
end;
see below
TImageDescriptor = record
Separator : byte;
ImageLeftPos : word;
ImageTopPos : word;
ImageWidth : word;
ImageHeight : word;
PackedFields : byte;
end;
actual ratio = (AspectRatio + 15) / 64
TLogicalScreenDescriptor = record
ScreenWidth : word;
ScreenHeight : word;
PackedFields : byte;
BackGroundColorIndex : byte;
AspectRatio : byte;
end;
MAXCODES = 4095
-------
Freeware GIF format component.
-------
This component has a (long) history:
1. Based on GifUtl.pas (c)1993 Sean Wenzel (Compuserve 71736,1245)
2. Converted to Delphi by Richard Dominelli (RichardA_Dominelli@mskcc.org)
3. Converted to Delphi 2 and made into an image component by
Richard Shotbolt (Compuserve 100327,2305)
4. Enhanced component as a descendant from TBitmap and registered the
GIF file format to be able to load the gif image in the design phase
(so it's ideal for include it in the xTools)
by Stefan Böther (www.fabula.com, stefc@fabula.com, CompuServe 100023,275)
5. Merged xgif.pas and gifcode.pas into one file, minimized the interface,
removed redundance and tidied up the entire code a bit.
There is no TGifImage class anymore, but the GIF image format is
registered as a known format for loading by TPicture during design AND run.
by Anneke Sicherer-Roetman (www.sichemsoft.nl, sicherer@sichemsoft.nl)
Left Open :
- Also store the format via SaveToStream override so the GIF
format can be used in blob formats also !
- GIF 89a format does not always work properly (who fixes this?)
- use real gif transparency for TransparentColor property instead of
lower-left pixel
- support of new PNG format
Before using the GIF format in any commercial application be sure you know
the legal issues for this format !!!
{ ===========================================================================