1、字库,首先有一个生成字库利器推荐一款点阵字库生成软件2013-05-14
http://www.cnblogs.com/TFH-FPGA/admin/Files.aspx免费的
软件使用:
a,参数设置:
文字输入:输入想生成字库文字的 字体格式 大小等
其他格式:横向取莫---即一副图像在刷新的时候会 从左到右 从上到下 进行书写字体
b,在输入区输入想生成的字库
按ctrl + 回车完成输入
b,取莫方式:
选用C51格式
c,基本操作:
保持生成字摸数据
d,一个简单的例子 生成 冒号:
1 /*-- 文字: : --*/ 2 /*-- 微软雅黑24; 此字体下对应的点阵为:宽x高=20x42 --*/ 3 /*-- 宽度不是8的倍数,现调整为:宽度x高度=24x42 --*/ 4 //横向取莫 5 unsigned char number11[]= 6 { 7 0x00,0x00,0x00,//从左到右 从上到下 一位二进制代表一个像素 osd的第一行为 24个像素点 8 0x00,0x00,0x00, 9 0x00,0x00,0x00, 10 0x00,0x00,0x00, 11 0x00,0x00,0x00, 12 0x00,0x00,0x00,//为0的地方为背景色,或直接为源图像 13 0x00,0x00,0x00, 14 0x00,0x00,0x00, 15 0x00,0x00,0x00, 16 0x00,0x00,0x00, 17 0x00,0x00,0x00, 18 0x00,0x00,0x00,//为1的地方为OSD要添加的像素---由一位二进制数控制, 19 0x00,0x00,0x00, 20 0x00,0x00,0x00,//第一个冒点的3E填充:3代表0011 若为YUV格式视频----添加Y-- (源-源-叠-叠) 21 0x00,0x00,0x00,// 二级制控制位,即可对任意位宽的图像进行控制 22 0x00,0x00,0x00, 23 0x00,0x3E,0x00,//第一个冒点 24 0x00,0x7F,0x00, 25 0x00,0x7F,0x00, 26 0x00,0x7F,0x00, 27 0x00,0x3E,0x00, 28 0x00,0x00,0x00, 29 0x00,0x00,0x00, 30 0x00,0x00,0x00, 31 0x00,0x00,0x00, 32 0x00,0x00,0x00, 33 0x00,0x00,0x00, 34 0x00,0x00,0x00, 35 0x00,0x00,0x00, 36 0x00,0x3E,0x00,//第二冒点 37 0x00,0x7F,0x00, 38 0x00,0x7F,0x00, 39 0x00,0x7F,0x00, 40 0x00,0x3E,0x00, 41 0x00,0x00,0x00, 42 0x00,0x00,0x00, 43 0x00,0x00,0x00, 44 0x00,0x00,0x00, 45 0x00,0x00,0x00, 46 0x00,0x00,0x00, 47 0x00,0x00,0x00, 48 0x00,0x00,0x00 49 };
2,生成好了字库,就要将字库显示到视频中
字库是不变的,要写成rom,做成初始化文件mif的字库文件(http://www.cnblogs.com/TFH-FPGA/archive/2013/05/14/3077678.html)
3,控制显示,,
对行同步计数 即得到:OSD的高度
对像素计数 即得到: OSD的宽度
然后按照每个像素读取字库值 为0 则叠加背景 为1则叠加 OSD字形数据