• C# 文本绘制


    一 文本的绘制

    1 文本的绘制

    g.DrawString(text,//文本
    font,//字体
    brush,//刷子
    x,y,//左上角位置
    format//格式与对齐
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2 字体属性

    字体的创建:Font;
    字体名称fontFamily;
    字体大小fontSize;
    字体样式fontStyle,如粗体、斜体等
    示例:

    Font font=new Font("宋体",16,FontStyle.Bold);
    
    • 1

    其中,字体默认单位是Point,不是Pixel。
    可以用GraphicsUnit指定单位。
    示例:

    Font font=new Font("宋体",16,GraphicsUnit.Point);
    Font font=new Font("宋体",16,GraphicsUnit.Pixel);
    
    • 1
    • 2

    字体风格 fontStyle
    常见的风格有:
    FontStyle.Regular 普通
    FontStyle.Bold 粗体
    FontStyle.Italic 斜体
    FontStyle.Underline 下划线
    其中,默认的字体风格为 FontStyle.Regular。可以设定字体风格,例如,

    Font font1 = new Font("宋体",  FontStyle.Bold );
    Font font2 = new Font("宋体",  FontStyle.Italic );
    Font font3 = new Font("宋体",  FontStyle.Bold | FontStyle.Italic ); // 粗体+ 斜体
    
    • 1
    • 2
    • 3

    其中,可以用位运算符 | 将多个风格连在一起。

    3 位置与对齐

    默认地,x,y指的是文本左上角的显示位置;x,y与format一起,共同指定其显示的位置。

    二 要点与细节

    1 字体大小的单位是Point,不是像素。

    2 字体Font内也包含非托管资源,需要Dispose。

    源代码
    文本的绘制.rar: https://url09.ctfile.com/f/22158009-727367957-10e65e?p=5939 (访问密码: 5939)

    三 文本的对齐

    文本的对齐;设定文本显示的位置,比如:水平居中、竖直居中。

    1 代码实现

    StringFormat format=new StringFormat();
    format.Alignment=StringAlignment.Near;
    format.LineAlignment=StringAlignment.Center;
    g.DrawStriing(text,font,brush,textRect,format);
    
    • 1
    • 2
    • 3
    • 4

    其中,textRect规定一个矩形框区域。

    四 要点与细节

    1 此种方法也适用于多行文本的绘制,支持自动换行;

    2 将俩如果需要更精细的测算,还可以使用Graphics.MeasureString()可以测算出一段文本所需的显示空间的大小。

    源代码
    文本的对齐.rar: https://url09.ctfile.com/f/22158009-727372190-850f67?p=5939 (访问密码: 5939)

  • 相关阅读:
    快速平方根倒数计算
    中关村e谷十周年特刊——请回答,2012
    关于go和rust语言的对比
    K8S 1.20 弃用 Docker 评估之 Docker CLI 的替代产品 nerdctl
    网络安全的「生意经」不好讲
    OpenAI api密钥申请
    2.3 OpenCV随手简记(四)
    java split字符串作业
    【InnoDB 存储引擎-索引学习】
    git常用命令
  • 原文地址:https://blog.csdn.net/weixin_42291376/article/details/127918859