- 1
- 0
- 约9.18千字
- 约 36页
- 2018-03-07 发布于浙江
- 举报
[理学]Windows图形设备接口和绘图
第5章 文本与字体 Huang Weitong * 第3讲 文本与字体 使用定义好的与设备无关的字体集, Windows就能维护它的设备无关性,提供“所见即所得”的好处,即屏幕所见与设备输出的文本是一样的 Windows经常使用GDI进行文本输出。在一定意义上,任何内容都可以看成图形实体 图形和文本并 没有明显的界限 文本操作 先要获得文本句柄 设置字体、字符大小、字符颜色等有关属性 将这些属性选入设备环境 1、 设置文本的设备环境 字体 逻辑字体定义的字符集是设备无关的,它可以精确标度,因此得到广泛应用 描述所要显示 的文本的大小、 类型和外形 物理字体是为特殊设备设计的,因而是设备相关的 Win 系统 提供了七种 基本字体 字体 说明 ANSI_FIXED ANSI标准的固定宽度的字体 ANSI_VAR ANSI标准的可变宽度的字体 DEFAULT_GUI 当前GUI的缺省字体 OEM_FIXED 由标准原设备制造商(OEM)提供 DEVICE_DEFAULT 当前图形设备的字体 SYSTEM_FIXED Windows的标准固定宽度的字体 SYSTEM Windows提供的可变宽度的字体 常作为缺省字体 Win用它作为 系统界面字体 (1) 定义字体句柄变量: HFONT hF; //hF为字体的句柄 (2) 调函数GetStockObject获得系统字体句柄 它返回的是系统的缺省字体 hF = GetStockObject( ): (3) 调用函数SelectObject将字体选入设备环境 SelectObject(hdc,hF); 选择系统字体的步骤 1.1 创建自定义字体 若需要定义系统以外的字体,可以调用函数GreateFont自行创建 HFont=CreateFont (int nHeight, //字体高度,0采用系统缺省值,使用逻辑单位 int nWidth, //字体宽度,取0则由系统根据高宽比取最佳值 int nEscapement, //每行文字相对于页底的角度,单位为0.1度 int nOrienation, //每个文字相对于页底的角度,单位为0.1度 DWORD nWeight, //字体粗细度,范围为0~1000 DWORD Dwltalic, //如果要求字体倾斜,则取非零 DWORD dwUnderline, //如果要求下划线,则取非零 DWORD dwStrikeout, //如果要求中划线,则取非零 DWORD dwCharset, //字体所属字符集 DWORD dwOutputPrecision,//输出精度,一般取缺省值OUT_DEFAULT_PRECIS DWORD dwClipPrecision, //剪裁精度,常取缺省值CLIP_DEFAULT_PRECIS DWORD dwQuality, //输出质量,一般取缺省值DEFAULT_QUALITY DWORD dwPitchAndFamily, //字体名 ) 可选的系统字符集: ANSI_CHARSET OEM_CHARSET SYMBOL_CHARSET DEFAULT_CHARSET SHIFTJIS_CHARSET 1.2 设置字体的背景颜色 设置字体颜色:SetTextColor(hdc,crColor); 设置背景颜色:SetBkColor(hdc,crColor); crColor为设置的颜色 字体及背景颜色 的设置在开发过 程中非常重要 2 、文本的输出过程 确定后续文本坐标 确定换行时文本坐标 文本输出过程 获取字体信息 格式化文本 调用函数输出文本 获取字体信息 输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置 GetTextMetrics (hdc,tm);//tm为TEXTMETRICS结构 获取当前使 用字体信息 调用该函数时,系统将当前字体的信息拷贝到tm标识的TEXTMETRICS结构中 系统定义的TEXTMETRICS的结构如下: typedef struct tagTEXTMETRIC { //tm LONG tmHeight; //字符高度 LONG tmAscent; //字符基线以上高度 LONG tmDescent; //字符基线以下高度 LONG tmInternalLea
您可能关注的文档
- [理学]GPS卫星坐标计算.ppt
- [理学]Globalchange-zhangxuliang.ppt
- [理学]GIS原理-第一讲.ppt
- [理学]h第3章SQL标准语言.ppt
- [理学]Internet技术与应用第6章.ppt
- [理学]Jaa 2实用教程第4版_第3章_运算符、表达式与语句.ppt
- [理学]jaa04.ppt
- [理学]java 网络编程-2010.ppt
- [理学]JAVA_10.ppt
- [理学]Handout 3.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 作文稿纸A4打印模板.docx VIP
- 《城市轨道交通客运服务》教案 项目二 城市轨道交通客运服务标志.pdf VIP
- 弱电系统维保方案(三篇).pdf VIP
- 2026建筑施工企业复工复产开工第一课.pptx
- 肠内营养(江苏)PPT课件.pptx VIP
- 基于51单片机智能晾衣架的设计.doc VIP
- 第一单元 第1课《童年艺趣》(课件)人教版三年级美术上册.ppt
- 交互设计2 交互系统与设计目标.ppt VIP
- 2024-2025学年广东深圳龙华区高一(上)期末数学试卷【答案版】.pdf VIP
- 工程伦理 课件全套 李正风 第1--9章 工程与伦理、 如何理解伦理--- 全球化视野下的工程伦理(414页).pptx VIP
原创力文档

文档评论(0)