提取16X16汉字字库用于LCD显示
2006-08-24 22:33
1051 查看
提取16X16汉字字库用于LCD显示
Lanno Cheeke 2006-8-24
使用文件:
UCDOS中的HZK16字模文件
原理:
获取汉字的区位码(又称GB码),在HZK16中算出此汉字的起始地址,以16x2数组方式保存,数组中的值为1则打印,否则为空。
程序说明:
所使用的文字为一级汉字。
双击:位码增一;右击:区码增一。
Lanno Cheeke 2006-8-24
使用文件:
UCDOS中的HZK16字模文件
原理:
获取汉字的区位码(又称GB码),在HZK16中算出此汉字的起始地址,以16x2数组方式保存,数组中的值为1则打印,否则为空。
程序说明:
所使用的文字为一级汉字。
双击:位码增一;右击:区码增一。
//输出 void CHZKView::OnDraw(CDC* pDC) { CHZKDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CRect rt; GetClientRect(&rt); int cx = rt.Width() / 16; int cy = rt.Height() / 16; unsigned char pHz[] = "对"; int i = pHz[0] -0xA0; int j = pHz[1] - 0xA0; fseek(pFile,(94*(i-1)+(j-1))*32l,SEEK_SET); unsigned char mat[16][2]; int k = 0; fread(mat,32,1,pFile); jj++; fseek(pFile,(94*(ii-1)+(jj-1))*32l,SEEK_SET); fread(mat,32,1,pFile); for(j=0;j<16;j++) for(i=0;i<2;i++) for(k=0;k<8;k++) if(mat[j][i]&(0x80>>k)){ pDC->SetPixel(i*8+k,j,RGB(255,0,0)); pDC->Rectangle((i*8 + k)*cx,j*cy,(i*8 + k)*cx + cx,j*cy + cy); } } |
//清理操作 CHZKView::~CHZKView() { fclose(this->pFile); } //区码增一 void CHZKView::OnRButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ii++; Invalidate(); CView::OnRButtonUp(nFlags, point); } void CHZKView::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default Invalidate(); CView::OnLButtonDblClk(nFlags, point); } |
相关文章推荐
- ARM平台LCD显示汉字
- 代码随笔——点阵汉字在LCD上的显示
- 标准字库汉字显示原理
- STemWin显示汉字 — SD卡外挂XBF字库
- 使用stm32在lcd上随意显示汉字
- emWin - 汉字字库生成及显示
- 51proteus仿真:16x16LED显示一个汉字
- 区分显示LCD汉字字模库中的中文与英文
- STM32中LCD显示少量汉字
- UCGUI自定义字库及显示汉字的程序
- arm 力天电子lpc2148无字库12864显示多行多个汉字(串行)
- QT5-控件-QLabel和QLCDNumber-标签显示图片或者视频,LCD用于上位机不错
- Keil BUG 导致读字库时,无法显示某些汉字解决办法
- 标准字库汉字显示原理
- 使用HZK16字库文件提取文字并显示到OLED显示屏上(Java Android实现)
- 汉字点阵字库的原理与显示
- 基于点阵字库的汉字显示 分类: 中文信息处理 2015-01-15 14:08 359人阅读 评论(0) 收藏
- 网页表单中的汉字存储到数据库, 再从数据库中提取并显示到网页时碰到的乱码问题。
- arm 力天电子lpc2148无字库12864显示一行多个汉字(串行)
- 【c++】点阵字库提取汉字转位图