c# 绘制中间带文字的分割线

public void DrawDeviceTitle(Graphics g, string title, int x, int y, int width)
{
    SizeF s = new SizeF();
    Font headerFont = new Font("MicrosoftYaHei", 10f, FontStyle.Regular);
    s = g.MeasureString(title, headerFont);
    SolidBrush br = new SolidBrush(Color.Black);
    StringFormat sf = new StringFormat();
    sf.Alignment = StringAlignment.Center;
    Pen p = new Pen(br);
    RectangleF rect = new RectangleF(x, y + 5, s.Width, s.Height);
    g.FillRectangle(Brushes.White, rect);
    g.DrawString(title, headerFont, br, rect, sf);
}

public void DrawSplitLine(Graphics g, string text, int x, int y, int width)
{
    x += 10;
    Pen p = new Pen(Color.Black, 1);
    Point p1 = new Point(x, y);
    Point p2 = new Point(x += width - 50, y);
    g.DrawLine(p, p1, p2);

    DrawDeviceTitle(g, text, x-(width - 50)+30, y - 10, text.Length);
}

效果:
在这里插入图片描述

相关推荐

  1. window环境C++读取中文文档乱码问题

    2024-06-08 08:26:03       34 阅读
  2. 文本分析之词云图绘制

    2024-06-08 08:26:03       61 阅读
  3. zdppy_api如何实现参数中间

    2024-06-08 08:26:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 08:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 08:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 08:26:03       82 阅读
  4. Python语言-面向对象

    2024-06-08 08:26:03       91 阅读

热门阅读

  1. Go每日一库之rotatelogs

    2024-06-08 08:26:03       32 阅读
  2. python字典

    2024-06-08 08:26:03       24 阅读
  3. HTTPS和TCP

    2024-06-08 08:26:03       27 阅读
  4. 深入解析CSS中的块级元素

    2024-06-08 08:26:03       24 阅读
  5. opencv 并行加速

    2024-06-08 08:26:03       31 阅读
  6. 11、架构-从类库到服务之客户端负载均衡

    2024-06-08 08:26:03       27 阅读
  7. dart 基本语法

    2024-06-08 08:26:03       28 阅读
  8. Flutter 中的 ParentDataWidget 小部件:全面指南

    2024-06-08 08:26:03       30 阅读
  9. npm 源管理工具 nrm

    2024-06-08 08:26:03       30 阅读