绘制文本-hta8533-md-007yy_使用说明书_v1.1_20170302
48.11绘制文本到目前为止,本章还有一个非常重要的问题要讨论——显示文本。因为在屏幕上绘制文本通常比绘制简单图形更复杂。在不考虑外观的情况下,只显示一两行文本非常简单——它只需调用Graphics实例的一个方法Graphics.DrawString()。但如果要显示一个文档,其中有许多文本,则事情很快变得复杂多了,这有两个原因: ●如果只考虑外观,则需要理解字体。图形的绘制需要使用画笔和钢笔作为帮助对象,绘制文本的过程则需要把字体作为帮助对象。而且,理解字体并不容易。 ●在窗口中需要仔细布局文本。用户通常期望文字一个跟一个地排列——排成一行,其间有一定的间隔。这是一个比想象中更困难的任务。对于初学者,一般事先不知道屏幕上文字之间的间隔有多大。这需要计算(使用Graphics.MeasureString()方法)。另外,屏幕上文字占用的间隔会影响文档中后续的文字在屏幕上放置的位置。如果应用程序自动换行,就需要在确定应在何处放置换行符前仔细斟酌文字的大小。下次运行Microsoft的Word时,仔细看看Word是如何重新定位用户输入的文本的。这里有许多复杂的处理操作。有可能任何GDI+应用程序都不像Word那样复杂,但如果需要显示任何文本,仍需要考虑同样的问题。总之,好的文本处理需要一定的技巧。假定知道字体和放置它的位置,那么把一行文本显示在屏幕上实际上非常简单。因此,下一节介绍一个小示例,说明如何显示一些文本。此后,探讨字体和字体系列的一些规则,并介绍一个更真实(和相关)的文本处理示例CapsEditor。
97.07MB
文件大小:
评论区