Only high cost video systems are able to simultaneously display every possible color at every location on the screen. Most video boards display a limited number of colors. About a megabyte of video memory is needed to support 256 colors. Because of the limited numbers of colors that can be shown at one time, video boards must keep track of which colors to use. The 256 colors that can be shown at one time are selected from a range of more then 16 million possibilities. That range of colors is determined by the video board's use of three bytes of information to specify the red, green, and blue elements of color. Limiting the choices to 256 colors in the palette at one time cuts the memory needed down to one megabyte. In addition the color of a pixel can be changed by just specifying one byte of information, the new palette entry number. This is fester then specifying three bytes for the RGB value of every pixel.
Each image you display has its own logical palette. The system palette determines which color actually appears on your screen. When the application wants to activate its own color, it must load its own logical palette into the system palette.
If the image stored in 24 bit , that means in 16.7 million color resolution and you display it on the system which supports just 16 bit or less the OS will confused what color to display. To adjust the page you convert the image to the system palette, to the colors which not exceed 256.