本文提供了两种适合编程新手使用的汉字点阵生成源码的方法,帮助初学者轻松掌握汉字在不同设备上的显示技术。
本例题采用两种方式列举了汉字取模方法,并用图像生动地展示出来,非常适合新手学习参考。
1. 以16点阵汉字取模方式进行详细讲解:通过定位读取HZK16文件(源码中已经包含此文件),说明具体实现步骤。
2. 使用GetGlyphOutline函数进行操作:用户可以选择Windows系统自带的字体,并根据所选字体生成相应的数组,最后绘制显示。
以上代码经过测试,在VC6.0环境下可以正常运行。尽管如此,这段代码仍存在一些不足之处,请大家在评论区指出并提出建议。
关键代码如下:
```cpp
BOOL CPixFontTranDlg::GetGridFromHZK16(CString strFont, BYTE buffer[])
{
// 字符串转换为内码,并计算汉字的区位码和索引位置。
AnsiCode[0] = strFont.GetAt(0);
if (AnsiCode[0] < 160)
{
BYTE temp = AnsiCode[0];
AnsiCode[0] = HIBYTE(temp - 0x21 + 0xA3A1); // 偏移量计算
AnsiCode[1] = LOBYTE(temp - 0x21 + 0xA3A1);
}
else
{
AnsiCode[1] = strFont.GetAt(1);
}
qh = AnsiCode[0]-160; // 区码和位码
wh = AnsiCode[1]-160;
location=(94*(qh-1)+(wh-1))*32; // HZK16 中的索引位置,每个汉字字模占用32个字节。
}
BOOL CPixFontTranDlg::GetGridFormWinSDK(CString strFont, BYTE buffer[], CString strFontName)
{
CFont newfont;
newfont.CreateFont(16, 0, 0, 0, 0, 0, 0,
DEFAULT_CHARSET | OUT_CHARACTER_PRECIS |
CLIP_CHARACTER_PRECIS | DEFAULT_QUALITY,
DEFAULT_PITCH|FF_DONTCARE,strFontName);
// 根据字体大小和名称创建一个新字体。
nLen = ::GetGlyphOutline(pdc->GetSafeHdc(), chartemp, GGO_BITMAP,
&glpm, 0, NULL, &mmat2);
if ((signed)nLen > 0)
{
// 获取所需缓冲区大小后,再次调用函数获取实际数据。
nLentemp = ::GetGlyphOutline(pdc->GetSafeHdc(), chartemp,
GGO_BITMAP,&glpm,nLen,pBuf, &mmat2);
offset = 8 - rows / 2; // 计算从点阵第一行到字的第一行的偏移量
for (i=0;i
优质
本项目提供了一套自动化的解决方案,用于从基础数据中生成C++语言编写的等高线绘制程序。通过解析地理或科学数据,系统能够智能地构建出高效的C++代码片段,适用于地形图制作、数据分析等领域,大大提升了开发效率和准确性。
Contour.cpp 2002/7/31 12:30 C++ Source 10 KB
Contour.h 2002/7/31 12:45 C/C++ Header 5 KB
GLContour.cpp 2002/1/9 17:56 C++ Source 1 KB
GLContour.h 2002/7/31 12:16 C/C++ Header 2 KB
ListContour.cpp 2002/7/31 12:48 C++ Source 14 KB
ListContour.h 2002/7/31 12:42 C/C++ Header 3 KB
优质
本文介绍了如何运用C#编程语言结合模板技术实现自动化生成Word文档的过程与技巧,旨在提高办公效率。
本段落介绍了使用C#通过模板自动创建Word文档的方法,这是一项非常实用的技术。为了便于他人参考并解决类似问题,将具体的步骤进行了总结整理。
第一步是制作模板:
1. 创建一个新的文档,并设置其内容。
2. 在需要插入书签的位置点击“插入”>“书签”,然后输入书签名并保存。
3. 最后,保存此模板为名称如模板1.dot或模板1.doc的文件。
第二步是配置项目中的引用。
优质
本文介绍了在C#程序中集成Bartender软件进行标签打印的两种实用方法,帮助开发者轻松实现自动化打印功能。
C# 调用 Bartender 打印有两种方式:直接调用和间接调用。