利用C#的画图工具做表格

本文介绍了如何使用C#编程语言来实现画图功能,特别是创建一个简单的表格。通过提供的代码示例,读者可以了解绘制表格的具体步骤和技巧。

利用C#画出如下的表格
在这里插入图片描述
代码附上

private void UpdateTable()
{
   
   
    /* 生成表格文件 */

    int x1 = 55;       /* 表框起始横坐标 */
    int y1 = 100;      /* 表框起始纵坐标 */
    int x2 = x1 + 2;   /* 文字起始横坐标 */
    int y2 = y1 + 5;   /* 文字起始纵坐标 */
    int z = 30;        /* 行宽 */
    int rowHead = 0;   /* 每行数据的高度初始位置 */
    int columnHead = 200; /* 第一列宽度 */

    int zWidth = 141;             /* 测量数据列宽 */
    int zWidthTwice = zWidth * 2; /* 两倍测量数据列宽 */

    int sum = 5;       /* 目标位置点个数 */
    int row = 3;         /* 测量次数 */
    int tempDelta = 50;  /* 调整文字居中变量 */

    int width = 320 + sum * zWidthTwice;             /* 图片宽度 */
    int height = 940 + 2 * z * row;                  /* 图片高度 */

    int tableWidth = columnHead + sum * zWidthTwice; /* 表格宽度 */

    Bitmap bmp = new Bitmap(width, height);          /* 新建一个图片对象 */
    Graphics g = Graphics.FromImage(bmp);            /* 利用该图片对象生成画板 */

    Font font = new Font("宋体", 15);                /* 设置字体颜色 */
    SolidBrush brush = new SolidBrush(Color.Black);  /* 新建一个画刷,到这里为止,我们已经准备好了画板、画刷和数据 */
    Pen p = new Pen(Color.Black, 1);                 /* 定义了一个黑色,宽度为1的画笔 */
    g.Clear(Color.FromArgb(255, 255, 255));          /* 设置白色背景 */

    /* 第1行数据 */
    rowHead = 0;
    g.DrawRectangle(p, x1, y1 + rowHead, tableWidth, z);            /* 在画板上画矩形,起始坐标为(x1,y1),宽为800,高为30 */
    string tempTitle = "GB/T 17421.2-2000 统计数表————线性测校————线性位移(x)";
    g.DrawString(tempTitle, font, brush, x2, y2);
    /* 绘制文字,起始坐标为(x2, y2) */


    /* 第2行数据 */
    rowHead = z;
    g.DrawRectangle(p, x1, y1 + rowHead, columnHead + zWidthTwice, z);
    g.DrawRectangle(p, x1 + columnHead + zWidthTwice, y1 + rowHead, zWidthTwice, z);
    g.DrawRectangle(p, x1 + columnHead + 2 * zWidthTwice, y1 + rowHead, zWidthTwice, z);
    g.DrawRectangle(p, x1 + tableWidth - (sum - 3) * zWidthTwice, y1 + rowHead, (sum - 3) * zWidthTwice, z);
    g.DrawString("机器编号:" + GlobalData.objMachineName, font, brush, x2, y2 + rowHead);
    g.DrawString("轴:" + GlobalData.objAxis, font, brush, x2 + columnHead + zWidthTwice, y2 + rowHead);
    g.DrawString("日期:" + GlobalData.objTime, font, brush, x2 + columnHead + 2 * zWidthTwice, y2 + rowHead);
    g.DrawString("操作者:" + GlobalData.objWorker, font, brush, x2 + tableWidth - (sum - 3) * zWidthTwice, y2 + rowHead);

    /* 第3行数据 */
    rowHead += z;
    g.DrawRectangle(p, x1, y1 + rowHead, tableWidth, z);
    tempTitle = "计算值和误差值(单位: ";
    switch (n)
    {
   
   
        case 1:
            if (GlobalData.meaUnit.Equals("公制"))
            {
   
   
                tempTitle = tempTitle + "mm)";
            }
            else
            {
   
   
                tempTitle = tempTitle + "inch)";
            }   
            break;
        case 2:
        case 3:
            tempTitle = tempTitle + "mrad)";
            break;
        default:
            break;
    }
    g.DrawString(tempTitle, font, brush, x2, y2 + rowHead);

    /* 第4行数据 */
    rowHead += z;
    g.DrawRectangle(p, x1, y1 + rowHead, columnHead, z);
    g.DrawString("目标点数i", font, brush, x2, y2 + rowHead);
    for (int i = 0; i < sum; i++)
    {
   
   
        g.DrawRectangle(p, x1 + 200 + i * zWidthTwice, y1 + 3 * z, zWidthTwice, z);
        g.DrawString((i + 1).ToString(), font, brush, x2 + columnHead+ i * zWidthTwice, y2 + 3 * z);
    }

    /* 第5行数据 */
    rowHead += z;
    g.
内容概要:本文提出了一种基于瞬态三角哈里斯鹰算法(TTHHO)的多无人机协同集群在三维空间中的避障路径规划方法,旨在通过优化路径长度、飞行高度、威胁规避和转弯角度等关键因素,实现以最低综合成本为目标的全局路径规划。该方法结合智能优化算法与多智能体协同机制,在复杂三维环境中有效解决动态障碍物规避与飞行安全性问题,并通过Matlab平台进行算法编码实现与仿真实验,验证了其在路径最优性、收敛速度和避障能力方面的优越性能。研究涵盖了三维空间建模、目标函数构建、约束条件处理及多无人机协同策略设计,提升了无人机系统在实际应用场景中的自主导航与智能化决策水平。; 适合人群:具备一定编程基础,熟练掌握Matlab仿真环境,从事无人机路径规划、智能优化算法、多智能体协同控制等相关方向研究的科研人员、工程技术人员及研究生。; 使用场景及目标:① 实现多无人机在复杂三维环境下的协同避障路径规划,确保飞行安全与任务效率;② 研究基于哈里斯鹰算法及其改进版本(如TTHHO)的智能优化机制在路径规划中的应用;③ 推动多目标优化(路径最短、能耗最低、威胁最小、飞行平稳)下无人机自主导航系统的开发与落地; 阅读建议:此资源以Matlab代码实现为核心支撑,建议读者深入理解TTHHO算法原理的基础上,结合文中提供的仿真模型进行代码调试与参数调优,进一步探索不同环境设置和约束条件下算法的适应性与鲁棒性,鼓励通过扩展威胁模型或引入通信延迟等现实因素开展深化研究。
内容概要:本文档聚焦于“三相并网逆变器虚拟阻抗+统一有源阻尼策略SVPWM+SPWM调制仿真”这一核心技术主题,系统研究了在三相并网逆变系统中引入虚拟阻抗与统一有源阻尼的控制策略,旨在提升系统在弱电网条件下的稳定性、动态响应能力及并网电能质量。通过Simulink仿真平台,详细构建了包含SVPWM(空间矢量脉宽调制)与SPWM(正弦脉宽调制)两种主流调制方式的控制系统模型,深入对比分析了不同调制策略对系统性能的影响,并验证了所提出策略在抑制LC谐振、降低电流畸变、增强系统鲁棒性方面的有效性。文档还整合了大量电力电子与新能源领域的相关仿真研究案例,涵盖光伏逆变、储能控制、微电网调度、VSG控制等多个方向,展现出丰富的技术内涵和扎实的工程应用背景。; 适合人群:适用于具备电力电子技术、自动控制理论及新能源发电系统等相关专业知识背景的科研人员、电气工程类研究生以及从事并网逆变器、微电网控制、电力系统仿真等方向的工程技术人员。; 使用场景及目标:① 深入理解并掌握虚拟阻抗与统一有源阻尼技术在三相并网逆变器中的设计原理与实现方法;② 对比分析SVPWM与SPWM调制策略在系统稳定性、谐波抑制和动态性能上的差异;③ 基于Simulink平台进行逆变器并网控制算法的建模、仿真与验证,服务于高水平科研项目、学位论文撰写或实际工程项目开发。; 阅读建议:建议读者结合文档中提及的Simulink仿真模型及相关代码资源,亲自动手搭建和调试核心控制回路,重点关注虚拟阻抗的参数整定、电流内环与电压外环的协同控制结构、以及SVPWM/SPWM调制模块的具体实现细节,从而深化对系统稳定机理和高性能控制策略的理解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值