博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hzk16在项目中的使用
阅读量:6268 次
发布时间:2019-06-22

本文共 1733 字,大约阅读时间需要 5 分钟。

最近做的项目中需要使用到hzk16。

以下转载自网络:

HZK16字库是符合GB2312标准的16×16点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个. 其中一级汉字有 3755个,按声序排列,二级汉字有3008个,按偏旁部首排列. 我们在一些应用场合根本用不到这么多汉字字模, 所以在应用时就可以只提取部分字体作为己用.HZK16字库里的16×16汉字一共需要256个点来显示, 也就是说需要32个字节才能达到显示一个普通汉字的目的.我们知道一个GB2312汉字是由两个字节编码的,范围为0xA1A1~0xFEFE.A1-A9为符号区, B0到F7为汉字区. 每一个区有94个字符(注意:这只是编码的许可范围,不一定都有字型对应,比如符号区就有很多编码空白区域). 以下为部分代码:
int fd_fb;struct fb_var_screeninfo var;struct fb_fix_screeninfo fix;int screen_size;unsigned char *fbmem;unsigned int line_width;unsigned int pixel_width;int fd_hzk16;struct stat hzk_stat;unsigned char *hzkmem;void lcd_put_pixel(int x,int y,unsigned int color){    unsigned char *pen_8 = fbmem+y*line_width+x*pixel_width;    unsigned short *pen_16;    unsigned int *pen_32;    unsigned char red,green,blue;        pen_16 = (unsigned short *)pen_8;    pen_32 = (unsigned int *)pen_8;    switch(var.bits_per_pixel)    {        case 8:        {            *pen_8 = color;            break;        }        case 16:        {            /* R:G:B = 5:6:5 */            red   = ((color>>16)&0x1f)<<11;            green = ((color>>8)&0x3f)<<6;            blue  = color&0x1f;            *pen_16 = red | green | blue;            break;        }        case 32:        {            *pen_32 = color;        }        default:        {            printf("Can't surport %d bpp\n",var.bits_per_pixel);            break;        }    }}void lcd_put_ascii(int x,int y,unsigned char c){    unsigned char *dots = &fontdata_8x16[c*16];    int i,j;    unsigned char byte;        for(i=0;i<16;i++)    {        byte = dots[i];        for(j=7;j>=0;j--)        {            if(byte&(1<
=0;b--) { if(byte&(1<

 

 

转载于:https://www.cnblogs.com/ZXNblog/p/4007450.html

你可能感兴趣的文章
View学习(一)-DecorView,measureSpec与LayoutParams
查看>>
色彩力量!21款你应该知道的优秀品牌设计
查看>>
SDUT 3503 有两个正整数,求N!的K进制的位数
查看>>
【.Net】C# 根据绝对路径获取 带后缀文件名、后缀名、文件名、不带文件名的文件路径...
查看>>
Redis常用命令速查 <第二篇>
查看>>
CSS规范
查看>>
使用FastDateFormat来代替JDK自带的DateFormat
查看>>
Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法
查看>>
Android源代码解析之(三)--&gt;异步任务AsyncTask
查看>>
(zhuan) 自然语言处理中的Attention Model:是什么及为什么
查看>>
C#中使用RabbitMQ收发队列消息
查看>>
Hadoop1.2.1 全然分布式集群搭建实操笔记
查看>>
第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...
查看>>
MVC总结--MVC简单介绍以及和WebForm差别
查看>>
tiny4412 裸机程序 五、控制icache【转】
查看>>
VB.NET多线程入门
查看>>
国外物联网平台初探(二) ——微软Azure IoT
查看>>
findlibrary returned null产生的联想,Android ndk开发打包时我们应该怎样注意平台的兼容(x86,arm,arm-v7a)...
查看>>
Android事件分发机制源代码分析
查看>>
《设计模式》结构型模式
查看>>