資源簡介
在YUV420格式上實現字符疊程序加及YUV420轉RGB程序,已實現

代碼片段和文件信息
char*?draw_Font_Func(unsigned?char?*ptr_frame?const?char?*strint?startxint?startyint?colorint?length)//ptr_frame為YUV420格式字符數組,str為疊加的字符串,startx、starty為要疊加的位置,length為疊加字符的長度
????????????{
????????????????//assert(?ptr_frame?!=?NULL?);
????????????????int?tagY=0tagU=0tagV=0;
????????????????unsigned?char?*offsetY=NULL*offsetU=NULL*offsetV=NULL;
????????????????unsigned?short?p16?mask16;?//?for?reading?hzk16?dots
????????????????//yuv?地址的設置
????????????????offsetY?=?ptr_frame;
????????????????offsetU?=?offsetY?+?WIDTH?*?HEIGHT;
????????????????offsetV?=?offsetU?+?WIDTH?*?HEIGHT/4;
????????????????const??char?*p?=?str;
????????????????switch?(color)
????????????????{
????????????????????case?0:?????????//?Yellow
????????????????????????tagY?=?226;tagU?=?0;tagV?=?149;
????????????????????????break;
????????????????????case?1:?????????//?Red
????????????????????????tagY?=?76;tagU?=?85;tagV?=?255;
????????????????????????break;
????????????????????case?2:?????????//?Green
????????????????????????tagY?=?150;tagU?=?44;tagV?=?21;
????????????????????????break;
????????????????????case?3:?????????//?Blue
????????????????????????tagY?=?29;tagU?=?255;tagV?=?107;
????????????????????????break;
????????????????????default:????????//?White
????????????????????????tagY?=?128;tagU?=?128;tagV?=?128;
????????????????}
????????????????int?x=0y=0i=1j=0k=0;
????????????????for(i?=?0;?i?????????????????{
????????????????????//for?(j?=?0?y?=?starty;?j?16?&&?y?????????????????????for?(j?=?0?y?=?starty;?j?16?&&?y?????????????????????{
????????????????????????p16?=?(unsigned?short?)table[(*p-32)*16+j];
????????????????????????mask16?=?0x0080;??//?二進制?1000?0000
????????????????????????//for?(k?=?0?x?=?startx?+i*32;?k?16?&&?x?????????????????????????for?(k?=?0?x?=?startx?+i*16;?k?8?&&?x?????????????????????????{
????????????????????????????if?(p16?&?mask16)
????????????????????????????{
????????????????????????????????*(offsetY?+?y*WIDTH?+?x)?=?*(offsetY?+?y*WIDTH?+?x+1)?=?tagY;
????????????????????????????????*(offsetY?+?(y+1)*WIDTH?+?x)?=?*(offsetY?+?(y+1)*WIDTH?+?x+1)?=?tagY;
????????????????????????????????*(offsetU?+?y?*?WIDTH/4?+?x/2)?=tagU;
????????????????????????????????*(offsetV?+?y?*?WIDTH/4?+?x/2)?=?tagV;
????????????????????????????}
????????????????????????????mask16?=?mask16?>>?1;??//循環移位取數據
????????????????????????????if?(mask16?==?0)
????????????????????????????????mask16?=?0x8000;
????????????????????????}
????????????????????}
????????????????????p++;
???????????????????/*?for?(j?=?0?y?=?starty;?j?16?&&?y?????????????????????{
????????????????????????p16?=?*(unsigned?short?*)(font?+?j*2?+?i*32);/*取字模數據/
????????????????????????mask16?=?0x0080;??/*?二進制?1000?0000
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????9535??2015-01-28?13:09??yuv420toRGB及字符疊加\font_table.h
?????文件????????5944??2015-01-28?13:53??yuv420toRGB及字符疊加\osd_yuv420torgb.c
?????目錄???????????0??2012-11-23?10:05??yuv420toRGB及字符疊加\PCtoLCD2002\
?????文件???????????8??2015-01-28?10:39??yuv420toRGB及字符疊加\PCtoLCD2002\_index.TXT
?????文件?????????130??2002-05-11?12:05??yuv420toRGB及字符疊加\PCtoLCD2002\ASC.PTL
?????文件???????18092??2002-05-15?15:31??yuv420toRGB及字符疊加\PCtoLCD2002\Gb2312.PTL
?????文件????????2122??2002-05-12?00:14??yuv420toRGB及字符疊加\PCtoLCD2002\notice.txt
?????文件??????310272??2002-05-11?19:53??yuv420toRGB及字符疊加\PCtoLCD2002\PCtoLCD2002.exe
?????文件?????????299??2015-01-28?12:42??yuv420toRGB及字符疊加\PCtoLCD2002\PCtoLCD2002.INI
?????文件????????1364??2012-11-26?15:22??yuv420toRGB及字符疊加\PCtoLCD2002\PCtoLCD2002完美版下載?_漢字字模生成軟件?-?pc6下載站.url
?????文件????????4427??2002-05-12?00:13??yuv420toRGB及字符疊加\PCtoLCD2002\readme2002.txt
?????文件??????676352??2002-02-01?22:00??yuv420toRGB及字符疊加\PCtoLCD2002\RTL60.BPL
?????文件?????1326080??2002-02-01?22:00??yuv420toRGB及字符疊加\PCtoLCD2002\VCL60.BPL
- 上一篇:ARM上利用opencv實現人臉識別
- 下一篇:hv8tla.rar
評論
共有 條評論