By Sunil Tanna
When you design web pages in HTML, as you probably know, you can use a tremendous range of colors (over 16 million) for fonts, tables, backgrounds and so forth using the COLOR attribute of the various HTML tags.
One thing that many novice webmasters don't think about is whether these colors will be displayed correctly on the screens of visitors who don't have the latest whiz-bang graphics cards.
There are still people out there who have a graphics cards which are only capable of displaying 256 colors at once. In these cases, the only colors which you can be sure will be displayed correctly are those in the browser-safe color palette.
For information about the browser-safe color palette see: http://www.graphicsacademy.com/what_colorsafe.php
So what happens if your web page includes a color that isn't in the color-safe palette, and a person tries to view on a 256 color screen?
Answer: It depends on the user's web browser.
- In some cases, the colors that aren't available will be converted to their nearest "color-safe" equivalent. This can lead to your web page looking different from what you intended.
- In other cases, particularly for large areas of continuous color (such as backgrounds and tables), the browser may attempt to simulate the your chosen color by "dithering" two or more color-safe colors together. This usually makes the colors look grainy, and very often looks absolutely terrible. If you don't know what I mean by "dithering", see the explanation at: http://www.graphicsacademy.com/what_dither.php
The Solution:
Review your HTML coding, and look at the colors in each COLOR = attribute... then change them to their closest color-safe equivalents.
(You might want to make a safe copy of your web pages before doing this, in case you make an oopsy).
Understanding The COLOR Attribute In HTML Code:
If you look at the COLOR= attributes in the HTML code, it usually looks something like this
COLOR="#C20F8C"
(Sometimes you may also see named colors like "RED" or "MAGENTA" which is beyond the scope of this discussion, just skip over any of those).
The values in the quotes after the hash symbol, are actually three pairs of digits, representing the Red, Green, and Blue components of the color expressed as hexadecimal numbers in the range 00 to FF.
So for the color given above:
- C2 is the Red component
- 0F is the Green component
- 8C is the Blue component
There is also a three-digit variant of the above which you may very occasionally run across:
If you see something like: COLOR="#F9C"
Then you simply need to repeat each digit, thus F9C represents:
- FF for the Red component
- 99 for the Green component
- CC for the Blue component
Converting to Color-Safe Colors:
Now we understand the theory, we're ready to convert a color to its closest color-safe equivalent.
For each of the Red, Green and Blue components, you need to convert them separately into values, you need to convert them separately into the color-safe equivalents, and then recombine the whole lot together.
The conversion step goes like this:
00 to 19 - converts to 00
1A to 4C - converts to 33
4D to 7F - converts to 66
80 to B2 - converts to 99
B3 to E5 - converts to CC
E6 to FF - converts to FF
For example:
If we need to convert C20F8C to its closest color-safe equivalent:
- We would convert the C2 part to CC
- We would convert the 0F part to 00
- We would convert the 8C part to 99
- And thus we would CC0099 as the final color.
Some other examples:
2B2CF0 would convert to 3333FF
C000C0 would convert to CC00CC
F0A000 would convert to FF9900
And so on...
This article is Copyright (C) 2005, Answers 2000 Limited.
About the Author: This article was written by Sunil Tanna of Answers 2000. For more
graphics tutorials, tricks and tips, please visit
http://www.graphicsacademy.com/
Source: www.isnare.com