1. CONTENTS =========== The package GifImage.zip contains two programs (with all needed units): 1. TestGif.dpr 2. TstGifIm.dpr The first one is a program to just test the ability to read, display and write GIF files and convert bitmaps to GIF files. It also provides a few dialogs through which the details of the loaded GIF file can be examined. You can *not* modify the contents of the GIF files this way; however, if you want to make a GIF editor, this program can be used as a starting point. The second program provides a test program for displaying TGifImages with animation. Meant for testing the GIF library with a set of GIF files collected in one subdirectory. 2. BUGS/SUGGESTIONS/SUPPORT =========================== Please let me know if you find any new bugs (see KNOWN BUGS below). Especially if it doesn't load some gif file, send me the particular gif file so I can see what's wrong. Suggestions for added functionality are not really welcome. I want to reduce the time spent on developing the TGifImage to get working on the Delphi Bug List again. I do NOT give support to people having trouble with the component. Only if there appears to be a bug/problem in the library itself, I will reply to questions. 3. AVAILABILITY =============== Please let me know if you have seen this component at any other site than - the Delphi Super Page - Torry's Delphi Pages - my own home page (http://www.dataweb.nl/~r.p.sterkenburg) The latest version will always be published first on my own home page, followed by the DSP. Then after a few days it automagically appears at Torry's as well. 4. KNOWN BUGS ============= Left open / known bugs: - IMPORTANT: Installing the stuff as a package in Delphi 3 does not work well! It causes an error message when quitting Delphi. If anyone can find out why this happens, let me know!!! - default stack size of 16k (in Delphi 1) is not sufficient! 32k is sufficient; add {$M directive to .dpr file (see also the demo .dpr's) - transparency/animation is not always right under Delphi 1 - The used algorithms are quite slow. I have no intention to spend a lot of effort in improving this; maybe if I get meaningful help with this, I'll do it someday. If you want a faster (and more versatile) TGifImage, check Anders Melander's version. Only disadvantage: it's (still) Delphi 3 only. - There can be some memory leaks left (but not many; probably mostly in cases where exceptions occur) - Loading subimages of size 1x1 pixel goes wrong (exception) - What happens when subimages have different local color maps has not been checked. - Handling of some of the GIF 89a Extension blocks - Nicer implementation (using same data structures and identifiers in the Decode and Encode subroutines) 5. VERSIONS =========== 1. Sean Wenzel (c) 1993 Compuserve 71736,1245 Original name: GifUtl.pas 2. Richard Dominelli RichardA_Dominelli@mskcc.org Converted to Delphi 3. Richard Shotbolt Compuserve 100327,2305 Converted to Delphi 2 and made into an image component 4. Stefan Böther www.fabula.com stefc@fabula.com CompuServe 100023,275 Enhanced component as a descendant from TBitmap and register the GIF file format so it's ideal for include it in the xTools Now you can Load bitmaps from GIF files 5. Reinier Sterkenburg (February 1997 - February 1998) mailto:r.p.sterkenburg@dataweb.nl http://www.dataweb.nl/~r.p.sterkenburg 2.0 - 2.4: - Added ability to encode/save GIF files as well - Made it work under Delphi 1, Delphi 2 and Delphi 3 - Wrote it in an even more object oriented and structured style - Corrected some bugs; many GIF files that do not completely comply with the GIF standard can still be read without errors - Added ability to read and store Extension blocks - (disabled the registration of the file format that Stefan Böther had programmed, but this has been restored in September 1997) 2.50: - added animation and transparency - fixed some memory leaks 2.51: - made compilable under Delphi 1 again - added (restored) ability to read BMP and write GIF in program TestGif