Dear Friends, These programs are the beta versions of the programs in the EMPTY PICTURE system. They can change a GIF picture file so it displays a rectangle filled with a single color. When I first conceived the system, this was a black rectangle. Then I saw that I could make this rectangle any of 16 million colors. Now you must be asking why anyone would want to make a picture that is all one color. If this were an irreversible process, it would be completely useless. However, if you can easily restore the original picture, there are many useful applications on the Internet. Some of these applications may even be legal. Most of us have at least one graphic file that we don't want everyone to see. We can now use MASK.COM to make it a single color such as black. Then, in the HTML language used in WEB PAGE design, instead of using a background color we can use this "masked" graphic. The HTML language will even automatically replicate this hidden image to fill the desired area. On the receiving end, selected users know that the background contains a hidden picture. They can "save background image" with their right mouse button. They can then use FIXX.COM to restore the original image. Others who do not know about this system will not even be aware that the image exists. To make these concepts work, we need a working knowledge of some programming language and a basic familiarity with the HTML structure. We also need a detailed knowledge of the structure of GIF files. The color information in GIF files depends on a "color palette" that can be from six bytes to 768 bytes. It should always start with the 13th byte. The 11th byte contains the length of the color palette. A byte consists of 8 bits. A bit is either 0 or 1. In the 11th byte we must multiply the sixth bit by 4, add twice the seventh bit, add the last bit, and add one. We then take this sum and raise 2 to that power. The length of the color palette in bytes is 3 times this number. If the HEX representation of this 11th byte ends in either "7" or "F" its color palette contains 256 sets with three bytes in each set. The first byte of each set defines the brightness of the RED part of that color. It has a range from 000 to 255. The next byte defines the GREEN part, and the last byte defines the BLUE part. For example, the triple byte 000,000,000 is black, and 255,255,255 is bright white. Bright RED, GREEN, or BLUE, is 255,000,000 or 000,255,000 or 000,000,255. A combination like 000,150,150 is a soft robins egg blue-green. Every picture element in a GIF picture is one of the elements in this color palette. A LZW compression system reduces the size of the file. My system, in concept, is simple. MASK.COM stores a copy of this color palette at the end of the graphic file. To preserve GIF compatibility, it uses GIF "comment extension blocks." It then overwrites the original color palette. If it uses all zeros, the image is black, and 255 (HEX FF ) makes the image white. Any bounded triplet repeated over the entire palette gives a single colored image. MASK.COM stores this triplet internally as 3 bytes to make a default color. The program SETCOLOR.COM simply changes these three bytes, with several safeguards to insure that the program does not change any other files. To recover the original image FIXX.COM restores the original color palette and removes everything that MASK.COM added to the end of the file. It checks to make sure that the object file has a true GIF format. It also looks for several "signatures" left by MASK.COM, including the Copyright notice on the alterations. This "signature" does not include the copyright date. Therefore, future versions of this system with later Copyright dates will still be completely compatible with this version. This unaltered Copyright notice (except the date) marks the beginning of the stored copy of the original color palette. However, it is still in GIF extensions, with the GIF block structure. MASK.COM must find and remove the control bytes before it restores the original color palette. This version will not properly process multiple image (animated) GIF files that use local palettes. It will also not over-ride transparency assignments. Transparency applies to a palette location, not a color. When operating on masked GIF files, do not let your viewer do a remap on the file. This action will erase the original image information. I did not program MASK.COM to process GIF files with small color palettes. If there is a need for this, I can add it. I did program it to recognize them so it would not change them. There are several opportunities here for customized "private" versions of this system. The system stops if the notice in the file differs from the stored version in the FIXX.COM program. Therefore, any matching variation will form a private system. Simply adding the words "licensed to John Smith." would do the job. It is a violation of the Copyright Laws to alter a copyright notice without written permission from the owner of the copyright. Just tell me how many copies you want to distribute. I am sure we can work something out. I am distributing the Standard Version as Shareware. That means you can try it out for free without any time or use limitations. If you really like the programs, you might want to help me make other interesting and useful products. A donation of $10 or $15 (or any amount) will help me pay my mortgage and grocery bills. In appreciation I will send you copies of some of my other programs for your evaluation. Robert Wallingford Prof. Engineer, Retired 310 S. Vermillion Street Streator, IL 61364-2940 U.S.A. Ph. (815) - 672 - 2007 email at: wallingford@usa.net or prof.engineer@usa.net My Web Site Address is: http://www.crtelco.com/~robertw