Anatomy of GIF Imagery
Have you ever wondered how a computer can take millions of zeros and ones and arrange them in such a way as to display a picture on a web page? I think that process is an absolute marvel of technology that each of us takes for granted on a daily basis...along with the human body, the power of flight, and any number of other things.
Specifically related to .gif imagery, a computer is processing Blocks and Extensions in order to display the final images on your screen:
1. Blocks. Blocks essentially come in three forms:
A. Control Blocks control how graphical data is handled.
i. Header (6-byte block that always comes first in each file)
ii. Logical Screen Descriptor (defines an image's exact size on-screen, and always comes second)
iii. Graphic Control Extension
iv. Trailer (indicates the end of a GIF file)
B. Graphic-Rendering Blocks contain data used to render a graphic
i. Image Descriptor
a. the picture's size in pixels (determined by the data of an image)
b. the position of the image on the logical screen (top and left position of images)
c. whether it is interlaced (gradually displaying the imagery on-screen)
d. an optional local palette for this image
ii. Plain Text Extension (rendering text on screen, though to universally supported)
C. Special Purpose Blocks are not used by GIF decoders at all.
i. Comment Extension (markers or statements of ownership that do not appear on-screen)
ii. Application Extension
When most optimization tools are working on GIF imagery, what they are essentially doing is removing any excess colors that are not needed to render the image on-screen, as well as removing interlacing or any optional Blocks and Extensions.
If this is a case of "too much information" and you simply want to have your image file sizes shrink without any noticeable change to your image's appearance on-screen, visiting our 8-bit and animated .gif tutorials for Do It Yourselfers should be very useful.