首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Graphics.DrawString()的中心文本输出

您好!您提到的 Graphics.DrawString() 是一个 C# 中的方法,用于在 Windows 窗体或图像上绘制文本。要在文本中心对齐,您需要使用 TextRenderer 类。以下是一个示例代码,演示如何在指定的矩形区域中以中心对齐方式绘制文本:

代码语言:csharp
复制
using System.Drawing;
using System.Windows.Forms;

public class CenteredTextForm : Form
{
    public CenteredTextForm()
    {
        this.Size = new Size(300, 200);
        this.Paint += OnPaint;
    }

    private void OnPaint(object sender, PaintEventArgs e)
    {
        string text = "Hello, World!";
        Font font = new Font("Arial", 12);
        Rectangle bounds = this.ClientRectangle;

        // 计算文本的大小
        Size textSize = TextRenderer.MeasureText(text, font);

        // 计算文本的位置,使其居中
        Point textPosition = new Point
        {
            X = bounds.X + (bounds.Width - textSize.Width) / 2,
            Y = bounds.Y + (bounds.Height - textSize.Height) / 2
        };

        // 绘制文本
        TextRenderer.DrawText(e.Graphics, text, font, textPosition, Color.Black);
    }
}

在这个示例中,我们使用了 TextRenderer.MeasureText() 方法来计算文本的大小,然后使用矩形的大小和文本大小来计算文本的位置。最后,我们使用 TextRenderer.DrawText() 方法在指定的位置绘制文本。

请注意,这个示例中的代码仅适用于 Windows 窗体应用程序。如果您正在使用其他类型的应用程序,您可能需要使用不同的技术来绘制和对齐文本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • VisualStudio 过滤输出窗口文本

    如果一个项目是很多小伙伴开发,里面有一些逗比喜欢在输出窗口输出大量无意义文本,那么很难通过输出窗口调试 本文告诉大家通过 VisualStudio 插件过滤输出窗口文本,让 VisualStudio...输出只是自己需要信息 例如有两个逗比小伙伴都在使用输出,同时输出都是无意义文本 static void Main(string[] args) {...林德熙是逗比 不想看到其他文本 但是实际输出混合了两个逗比输出 ?...通过 VisualStudio 插件Filter Debug Window 可以过滤输出窗口文本 ?...这个页面默认会在输出页面旁边,这个插件是添加了一个新页面用来做输出,这里输出文本输出页面的文本相同,但是多了过滤功能。点击加号可以添加过滤 ?

    1.5K40

    简单就是输出文本类型

    相信通过上面的其他示例演示,我们大概看到了一些在Minimal Api中结果输出,总结起来其实可以分为三种情况 IResult遴选公务员 结果输出,可以包含任何值得输出,包含异步任务Task和ValueTask string 文本类型输出,包含异步任务Task和ValueTaskhttp://www.gongxuanwang.com/...T 对象类型输出,比如自定义实体、匿名对象等,包含异步任务 Task和ValueTask 接下来简单演示几个例子来简单看一下具体是如何操作,首先最简单就是输出文本类型 类其实是微软帮我们多封装了一层...,它里面的所有静态方法都是返回IResult接口实例,这个接口有许多实现类,满足不同输出结果,遴选公务员比如Results.File("foo.text")方法其本质就是返回一个FileContentResult...类型实例http://lx.gongxuanwang.com/sszt/39.htm 比如我们要输出一段html代码。

    41630

    文本输入与输出 - Java core II

    文本输入与输出---保存数据时,可以选择二进制或文本格式。整数1234存储成二进制时,写成由字节00 00 04 D2构成序列(十六进制表示法。)存储文本格式时,被存成字符串"1234"。...OutputStreamWriter类使用选定字符编码方式,把Unicode码元输出流转换为字节流。...(System.in, StandardCharsets.UTF_8);如何写出文本输出PrintWriter:拥有以文本格式打印字符串和数字方法。...如何读入文本输入Scanner类:最简单文本处理方式。...字符编码方式输入和输出流都是用于字节序列,但是在许多情况下,希望操作文本,即字符序列。Java针对字符使用是Unicode标准。每个字符或“编码点”都具有一个21位整数。

    1K80

    基于控制台通用文本输出函数设计

    */ int CharSayColor; /* 基于显示文本色 */ int CharGetColor; /* 基于输入文本色 */ /* 应用函数说明 */ int GetCharSayColor...(void); /* 得到当前默认字符输出色 */ int GetCharSayForeColor(void); /* 得到当前默认字符输出前景色 */ int GetCharSayBackColor...); /* 设置当前默认字符输出色 */ int SetCharSayForeColor(int color); /* 设置当前默认字符输出前景色 */ int SetCharSayBackColor...(int color); /* 按照当前颜色设置文本输出颜色属性 */ void SetSayColorAttrib(void); /* 设置当前字符输出色为SayColor */ void SetGetColorAttrib...& 0X0f; } /* 得到当前默认字符输入背景色 */ int GetCharGetBackColor(void) { return CharGetColor & 0Xf0; } /* 按照当前颜色设置文本输出颜色属性

    60300

    R语言实现输出文本多样式

    大家也许习惯了在R控制台上单调文本输出。但是有人就突发奇想开发了一个可以自定义结果颜色,属性R包crayon。此包可以让用户在支持多颜色输出控制台中实现多颜色丰富输出,比如Rstudio。...首先我们看下包安装: install.packages(“crayon”) 首先我们看下在这个包中可以修改属性: ? ?...#基于通道文本处理 cat(green( 'I am a green line ' %+% blue$underline$bold('with a blue substring') %+...此包还有个更高级功能那就是自己创建输出属性,需要用到函数make_style(...,bg = FALSE, grey = FALSE, colors = num_colors())。...此函数主要创建颜色属性。此功能可以更加灵活操纵文本及背景展示颜色。

    91420

    了解Go Template 语法,构建高效文本输出

    https://cheatsheets.zip/ Go Template 语法 Go语言模板引擎是一种轻量级模板系统,它允许开发者将数据和模板结合起来,生成最终文本输出。...模板语法 Go模板基本语法非常简洁,主要包括以下几个部分: 文本输出:模板中普通文本会被直接输出。 变量:使用{{ .FieldName }}来输出结构体或map中字段值。...模板基础 模板是一个字符串或文件,它包含固定内容和一些特殊模板语法,这些语法在执行时会被替换为相应数据。模板可以包含以下元素: 纯文本:直接输出到结果中。 变量:使用.来访问传入模板数据。...总结 Go语言模板系统是一个强大而灵活工具,它允许开发者以声明式方式生成文本输出。通过组合文本、变量、控制结构、函数调用和注释,可以创建出复杂模板来满足不同需求。...html/template包还提供了额外安全特性,使得处理HTML输出更加安全。理解和熟练使用Go模板系统对于构建Web应用和其他需要文本生成应用至关重要

    16810
    领券