C#高级编程:绘制文本
2009-09-28 17:22
375 查看
这个示例DisplayText是常见的Windows Forms。这次重写了OnPaint(),添加了成员字段,如下所示:
运行这个示例,会得到如图20-15所示的结果。
这个示例说明了如何使用Graphics.DrawString()方法绘制文本,DrawString()有许多重载方法,这里介绍其中的3个。但这些重载方法都需要用参数指定要显示的文本、字符串所使用的字体,以及用于构造各种直线和曲线以组成每个文本字符的画笔。其余的参数有另外两种指定方式。但一般情况下,可以指定一个Point(或两个数字)或一个Rectangle。
![](http://book.csdn.net/BookFiles/16/20/image016.jpg)
图 20-15
如果指定Point,文本就从该Point的左上角开始,并向右延伸。如果指定Rectangle,则Graphics实例就把字符串放在矩形的内部。如果文本在矩形内部容纳不下,就会被剪切,如图20-15中的第四行文本所示。把矩形传送给DrawString(),表示绘图过程将持续较长时间,因为DrawString()需要指定在什么地
private System.ComponentModel.Container components = null; private Brush blackBrush = Brushes.Black; private Brush blueBrush = Brushes.Blue; private Font haettenschweilerFont = new Font("Haettenschweiler", 12); private Font boldTimesFont = new Font("Times New Roman", 10, FontStyle.Bold); private Font italicCourierFont = new Font("Courier", 11, FontStyle.Italic | FontStyle.Underline); protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics dc = e.Graphics; dc.DrawString("This is a groovy string", haettenschweilerFont, blackBrush, 10, 10); dc.DrawString("This is a groovy string " + "with some very long text that will never fit in the box", boldTimesFont, blueBrush, new Rectangle(new Point(10, 40), new Size(100, 40))); dc.DrawString("This is a groovy string", italicCourierFont, blackBrush, new Point(10, 100)); }
运行这个示例,会得到如图20-15所示的结果。
这个示例说明了如何使用Graphics.DrawString()方法绘制文本,DrawString()有许多重载方法,这里介绍其中的3个。但这些重载方法都需要用参数指定要显示的文本、字符串所使用的字体,以及用于构造各种直线和曲线以组成每个文本字符的画笔。其余的参数有另外两种指定方式。但一般情况下,可以指定一个Point(或两个数字)或一个Rectangle。
![](http://book.csdn.net/BookFiles/16/20/image016.jpg)
图 20-15
如果指定Point,文本就从该Point的左上角开始,并向右延伸。如果指定Rectangle,则Graphics实例就把字符串放在矩形的内部。如果文本在矩形内部容纳不下,就会被剪切,如图20-15中的第四行文本所示。把矩形传送给DrawString(),表示绘图过程将持续较长时间,因为DrawString()需要指定在什么地
相关文章推荐
- QOPenGLWidget与QPainter混合编程--绘制文本
- Android画图drawText入门(二)-绘制文本
- Direct3D 2D文本绘制
- Android Paint 之 获取绘制的 Path 文本的Path
- GDI+在固定位置(固定点)的地方绘制文本
- DXUT中控件、文本绘制、像机
- android 自定义view之文本绘制解析
- 文本显示器--静态文本控件之文本绘制输出
- 直接在窗体上绘制二维文本/不加任何控件展现图像
- Android文本的测量和绘制
- 第二章 1.绘制文本
- sun在线教材之-java 2d 文本指南-第二课 绘制艺术字
- MIDP中一个简单的折行文本绘制办法
- -_-#【Canvas】绘制文本
- WinAPI: DrawText - 将文本绘制到指定的矩形中
- JavaMe开发绘制可自动换行文本
- canvas(2)绘制路径,文本,坐标变换
- Quartz2D绘图之绘制文本
- [Cocoa]_[初级]_[如何绘制带颜色的文本]
- Python之ReportLab绘制文本