最近看到嵌入式里显示汉字都是用的UCDOS的字模 我的8051开发板一直没能玩得起来 所以写了个测试程序 体验一下吧 原来让计算机显示汉字这么简单

HZK16汉字库的使用方法:

http://dev.gameres.com/Program/Control/fontDOS.htm

#include <windows.h> #include <stdio.h> #include "resource.h" #define HANZI_TOP 50 #define HANZI_LEFT 10 FILE *g_fpHZK; BYTE g_zimo[16][2]; UCHAR g_szInput[512]; INT_PTR CALLBACK MainProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { int iQu; int iWei; int iZimoPos; PAINTSTRUCT ps; HDC dcScreen; int i, j, k; RECT rect; switch (uMsg) { case WM_INITDIALOG: _wfopen_s (&g_fpHZK, L"HZK16", L"rb"); if (!g_fpHZK) { MessageBox (hwndDlg, L"无法打开汉字库文件HZK16", 0, 0); EndDialog (hwndDlg, 1); } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_SHOW_ZIMO: GetDlgItemTextA (hwndDlg, IDC_EDIT_HANZI, g_szInput, 512); if (g_szInput[0] < 128) { MessageBox (hwndDlg, L"请输入一个汉字", 0, 0); break; } iQu = g_szInput[0] - 0xa0; iWei = g_szInput[1] - 0xa0; iZimoPos = (94 * (iQu - 1) + iWei - 1) * 32; fseek (g_fpHZK, iZimoPos, SEEK_SET); fread (g_zimo, 2, 16, g_fpHZK); InvalidateRect (hwndDlg, 0, FALSE); break; } break; case WM_PAINT: dcScreen = BeginPaint (hwndDlg, &ps); rect.left = HANZI_LEFT; rect.top = HANZI_TOP; rect.right = rect.left + 16 * 8; rect.bottom = rect.top + 16 * 8; SetDCBrushColor (dcScreen, 0x00000000); // black FillRect (dcScreen, &rect, GetStockObject(DC_BRUSH)); for (j = 0; j < 16; j++) { for (i = 0; i < 2; i++) { for (k = 0; k < 8; k++) { if (g_zimo[j][i] & (0x80 >> k)) { //SetPixel (dcScreen, i * 8 + k + HANZI_LEFT, j + HANZI_TOP, 0x00ffffff); // white rect.left = HANZI_LEFT + (i * 8 + k) * 8; rect.top = HANZI_TOP + j * 8; rect.right = rect.left + 8; rect.bottom = rect.top + 8; SetDCBrushColor (dcScreen, 0x0000ff00); // green FillRect (dcScreen, &rect, GetStockObject(DC_BRUSH)); } } } } EndPaint (hwndDlg, &ps); break; case WM_CLOSE: fclose (g_fpHZK); EndDialog (hwndDlg, 0); break; default: return FALSE; } return TRUE; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return DialogBoxParam (hInstance, MAKEINTRESOURCE(IDD_MAIN), 0, MainProc, 0); }

使用UCDOS的HZK16点阵字库的演示程序相关推荐

  1. 读hzk32_点阵字库HZK12 HZK16 HZK24 ASC12 ASC16 简介 及 使用方法[附源码]

    如何在嵌入式系统中使用大量的汉字和字符呢? DOS前辈们经过艰辛的努力,将制作好的字模放到了一个个标准的库中以免去后辈的麻烦,这就是点阵字库文件. 一般我们使用16*16的点阵宋体字库,所谓16*16 ...

  2. 点阵字库HZK12 HZK16 HZK24 ASC12 ASC16 简介 及 使用方法[附源码]

    字库点阵格式定义 ASC12  ' 8x12 ASCII点阵 一个字符12Byte ASC16  ' 8x16 ASCII点阵 一个字符16Byte ASC48  '24x48 ASCII点阵 一个字 ...

  3. java中点阵字库的解析

    最近研究点阵字库的展示,搜到很多东西,而且大多都是C语言做的,作为一个Android开发的码农,整理了一篇java版的,一方面自己记录,一方面帮助有需要的人... 点阵字,顾名思义,就是用点组成一个个 ...

  4. Python 用点阵字库描绘出国庆祝福语:祝福伟大祖国,更加繁荣昌盛 我爱你,中国

    目录 ❤️一段老代码 ❤️点阵字库原理 ❤️改写C代码 ❤️改进python代码 在给网友答题时突然间想到的,要把点阵字库拿出来研究研究的.适逢国庆佳节,刚好用它来打印国庆节祝福语,以表达我对伟大祖国 ...

  5. ARM实验板移植,linux点阵字库的使用

    不说原理,只讲步骤.包括所有自用包以及实验中遇到问题的解决办法. 想知道HZK16原理的直接搜关键词:HZK16汉字16*16点阵字库的使用 XMware:(14条消息) 小白如何在window电脑上 ...

  6. 点阵字库显示系列之二:GB2312点阵字库显示

    免责声明:         本文是作者在研究过程中的一篇文章,本着互联网共享.自由(free,应该不是"免费")之精神发布于此.作者才疏学浅,孤陋寡闻,能力有限,对文中出现的术语及 ...

  7. 24x24点阵字库的显示

    首先,研究了很久,以为和16x16没多大区别,后来又发现了很多24x24需要注意的点,如 不要小看这个按列扫描,如果是16x16的话,可以直接用三层加判断打印出来,如下 for (i = 0; i&l ...

  8. 高通针对LED应用的点阵字库解决方案 — 支持多种字号字体显示

    高通led字库方案为led显示屏提供标准,专业字库.应用于各类LED屏,包括公交车显示牌,广告牌,停车场系统,排队机显示屏等等.高通字库芯片为这些提供了专业,丰富的字库,LED显示不再有错字.漏字.字 ...

  9. 16 16点阵c语言程序,用C语言编程16点阵字库

    用C语言编程16点阵字库 2007-07-31 12:28 #include #include #include #include #include #include #include #define ...

  10. 点阵字库生成器破解版下载地址

    本工具可以生成/编辑任意大小的点阵字库.源字体取自于Windows的TTF字体,可添加生僻汉字,嵌入式小系统开发必备软件. 华为网盘统一提取密码为52coder 下载地址:http://s.dbank ...

最新文章

  1. 树的高度(小米2017秋招真题)
  2. 【控制】二阶 UGV 的无穷时间状态输入性能最优解算
  3. VS 2010 和 .NET 4.0 系列之《WPF 4》篇
  4. java ajax上传图片插件_java图片上传并预览,前台用jQuery插件AjaxFileUpload,后台用FileUtils.copyFile....
  5. HDU 5944 Fxx and string(暴力/枚举)
  6. Echarts数据可视化series-bar柱形图详解,开发全解+完美注释
  7. AcWing 841. 字符串哈希(字符串Hash)
  8. zoj3829 Known Notation --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
  9. python中模运算_Python中的模运算
  10. Docker镜像使用详解
  11. C语言情人节浪漫烟花表白代码
  12. java poi word转html 报错
  13. 美团加载Dialog(小人奔跑)
  14. POJ 3537 Crosses and Crosses 博弈论 SG函数 记忆化搜索
  15. java-sec-code学习之path_traversal
  16. 【毕业季】致大学江湖的青葱岁月,我与湖中大的四个夏天(情忆新月,梦系信科)
  17. 网页设计志愿招募平台模块
  18. java 提取违反顺序_oracle 中 java.sql.SQLException: ORA-01002: 提取违反顺序
  19. 血氧仪电路方案开发--PCBA方案
  20. ARCore:从哪里冒出来的ARCore

热门文章

  1. 2019年中国大学生计算机设计大赛国赛答辩
  2. 3. 内存控制器与SDRAM
  3. 题解 luogu P6002 【[USACO20JAN]Berry Picking S】
  4. 转载:《算法刷题LeetCode(中文版)》LeetCode题解,151道题完整版
  5. html5字体代码列表,html5——web字体(示例代码)
  6. C/C++二路归并排序
  7. 酒桌扑克娱乐喝酒小游戏微信小程序源码下载多娱乐功能支持流量主
  8. 基于 Docker 的几种常用 CentOS7 镜像
  9. SaaSBase:最适合小团队轻量级项目管理的软件——Tower
  10. 陕西省计算机中考模拟试题软件,中学信息技术考试练习系统——陕西省版