资源简介
在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 < length ;i++)
{
//for (j = 0 y = starty; j < 16 && y < HEIGHT - 1; j++ y+=2) // line dots per char
for (j = 0 y = starty; j < 16 && y < HEIGHT - 1; j++ y+=2)
{
p16 = (unsigned short )table[(*p-32)*16+j];
mask16 = 0x0080; // 二进制 1000 0000
//for (k = 0 x = startx +i*32; k < 16 && x < WIDTH - 1; k++ x+=2) // dots in a line
for (k = 0 x = startx +i*16; k < 8 && x < WIDTH - 1; k++ x+=2)
{
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 < HEIGHT - 1; j++ y++) // line dots per char
{
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
相关资源
- 利用PWM技术控制RGB灯变色和呼吸
- RGB888与RGB565互转工具
- 78种RGB配色方案
- CMYK和RGB转化工具
- rgb转换为luv颜色空间
- 读取bmp图片文件,并获取任意一点的
- 查看颜色器
- ColorPix最好用的屏幕取色器
- 图片转化LCD所用的RGB565数据软件
-
YUV Pla
yer - 图像rgb值和cmyk值转换
- 获得图片上任意像素点RGB值和HSV值
- 颜色RGB对照表(所有颜色大全)
- BMP 转 RGB YUV 工具
- 图片颜色互相转换:RGB HSV CIE Lab CIE
- Arduino UNO 控制全彩RGB点阵条屏单元板
- STM32F429IGT6驱动RGB屏测试程序
- 全屏幕颜色取值软件(RGB取色器)
- STM32直接驱动RGB接口的TFT数字彩屏
- 基于STM32F767驱动 LTDC LCDRGB屏.rar
- 本科毕业论文_基于ROS和RGB-D传感器的
- yuv/rgb/gray等数据查看工具
- IT6801FN Datasheet 20190917(1).pdf
- rgb转yuv420sp_nv12 硬件加速opengl esshade
- YUVNV12 NV21等 RGB16,24,32位 原始数据无
- rgb转yuv420p 硬件加速opengl esshader
- yuv-rgb视频转换工具,好用
- STM8 RGB灯控制源代码(支持红外遥控)
- labview将RGB图像转为灰度图像
- YUV420pScissor
评论
共有 条评论