转载自:http://blog.pfan.cn/programming/21209.html
现在已经可以通过修改存储单元内容来改变OSD的像素,但还有个关键的问题是如何根据需要来进行操作,即如何将某个像素设置为指定颜色。接下来就要介绍一下色板的概念。
如下图,某个Byte中的低四Bit内容与一个像素一一对应,其值为“3”,那么数字“3”所代表的颜色便由色板来决定,然后再驱动OSD屏幕将像素设置为制定颜色。同样地,这种色板和物理OSD显示屏幕的对应关系一般也是通过寄存器设置,由硬件上来保障实现的。对于特定的显示环境,这种色板一般是固定的。
为了能使固定的图像数据在进行OSD显示时可以以不同的颜色输出,便可以采用逻辑色板这种方法。逻辑色板实际上是长度为颜色数的数组,将图像数据写入OSDBuffer时,可以通过该数组进行特定映射,本质上还是只能使用物理色板上的颜色数,只是颜色被改变。原理如下图。