home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Intermedia 1998 January
/
inter1_98.iso
/
grafika
/
emptypic
/
emptypic.txt
next >
Wrap
Text File
|
1997-06-12
|
6KB
|
127 lines
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