主要是调色板的问题,一般情况下因使用WINDOWS标准调色板的颜色,如:clRed ,但是当颜色超过256色(调色板定义)就会出现颜色失真或混乱,主要由于Windows试图用相近的颜色表示它,但近似的算法却很糟糕,有时又会使调色板混乱等等。详细的情况你具体看看有关调色板的 Windows API

解决方案 »

  1.   

    Graphic Device Interface Function (图形设备接口函数)中的 Color
      

  2.   

    使用256标准调色板和真彩都没有这种问题。因为你定义的颜色 API 都能正确的显示出来
      

  3.   

    问题在于(奇怪的是):背景颜色正确显示,但字体背景颜色错误。按说他们都是由TCanvas.Brush.Color来调节的,应该完全一样。但结果是另TCanvas.Brush.Color:=16777088,而产生了不同的背景色和字体背景色。
    WHY??????