如何:在指定位置绘制文本

更新:2007 年 11 月

执行自定义绘制时,您可以在从指定点开始的一个水平行上绘制文本。可以使用 Graphics 类的接受 PointPointF 参数的 DrawString 重载方法,以此种方式绘制文本。DrawString 方法还需要 BrushFont

还可以使用 TextRenderer 的接受 PointDrawText 重载方法。DrawText 也需要 ColorFont

下图显示使用 DrawString 重载方法时在指定点上绘制的文本的输出。

字体文本

用 GDI+ 绘制一行文本

  • 使用 DrawString 方法,使用时传入您需要的文本、PointPointFFont 以及 Brush

    Dim font1 As New Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel)
    Try
        Dim pointF1 As New PointF(30, 10)
        e.Graphics.DrawString("Hello", font1, Brushes.Blue, pointF1)
    Finally
        font1.Dispose()
    End Try
    
    using (Font font1 = new Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel)){
    PointF pointF1 = new PointF(30, 10);
    e.Graphics.DrawString("Hello", font1, Brushes.Blue, pointF1);
    }
    

用 GDI 绘制一行文本

  • 使用 DrawText 方法,使用时传入所需的文本、PointFont 以及 Color

    Dim font As New Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel)
    Try
        Dim point1 As New Point(30, 10)
        TextRenderer.DrawText(e.Graphics, "Hello", font, point1, Color.Blue)
    Finally
        font.Dispose()
    End Try
    
    using (Font font = new Font("Times New Roman", 24, FontStyle.Bold, GraphicsUnit.Pixel))
    {
        Point point1 = new Point(30, 10);
        TextRenderer.DrawText(e.Graphics, "Hello", font, point1, Color.Blue);
    }
    

编译代码

前面的示例需要:

请参见

任务

如何:用 GDI 绘制文本

如何:构造字体系列和字体

如何:在矩形中绘制换行文本

其他资源

使用字体和文本