OSD控制
由XC3S250E实现的OSD设计根据接收到的OSD位置及内容信息进行OSD显示,对OSD显示的内容没有任何限制,非常灵活方便。下面以OSD汉字显示为例说明OSD的控制操作。
要正确的显示汉字,就必须将输入的汉字内码转换成对应的区位码。这一功能我们通过函数Uint32Code_Converse(unsignedchar*CodeNPointer),其输入为指针,指向要转换汉字。返回值为该汉字对应的区位码。OSD的显示由函数OSDHZ?isplay实现:
voidOSDHZ_Display
{
Uint8*pFrame
Uint32pitch
OSDUTIL_Point*loc
Uint32CodeQ
OSDHZ?ont*font
Uint8fgColor
Uint8bgColor
}
其中,Uint8*pFrame为OSD输出的Buffer缓冲区;Uint32pitch为每行显示的象素值;OSDUTIL_Point*loc为第一个字符的显示位置;Uint32CodeQ为要显示汉字的区位码;OSDHZ?ont*font为显示汉字所用的字体;Uint8fgColor显示汉字的前景色;Uint8bgColor显示汉字的背景色。
所以,如果需要显示汉字,只需要将汉字进行必要的码制转换,然后将转换后的区位码,给出显示的位置,输出给OSDFPGA即可。当然要显示汉字,汉字字库是必不可少的。
OSD控制
由XC3S250E实现的OSD设计根据接收到的OSD位置及内容信息进行OSD显示,对OSD显示的内容没有任何限制,非常灵活方便。下面以OSD汉字显示为例说明OSD的控制操作。
要正确的显示汉字,就必须将输入的汉字内码转换成对应的区位码。这一功能我们通过函数Uint32Code_Converse(unsignedchar*CodeNPointer),其输入为指针,指向要转换汉字。返回值为该汉字对应的区位码。OSD的显示由函数OSDHZ?isplay实现:
voidOSDHZ_Display
{
Uint8*pFrame
Uint32pitch
OSDUTIL_Point*loc
Uint32CodeQ
OSDHZ?ont*font
Uint8fgColor
Uint8bgColor
}
其中,Uint8*pFrame为OSD输出的Buffer缓冲区;Uint32pitch为每行显示的象素值;OSDUTIL_Point*loc为第一个字符的显示位置;Uint32CodeQ为要显示汉字的区位码;OSDHZ?ont*font为显示汉字所用的字体;Uint8fgColor显示汉字的前景色;Uint8bgColor显示汉字的背景色。
所以,如果需要显示汉字,只需要将汉字进行必要的码制转换,然后将转换后的区位码,给出显示的位置,输出给OSDFPGA即可。当然要显示汉字,汉字字库是必不可少的。
举报