首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >奇怪的DrawRectangle和DrawLine

奇怪的DrawRectangle和DrawLine
EN

Stack Overflow用户
提问于 2013-06-16 22:57:07
回答 2查看 1.7K关注 0票数 0

我想在PictureBox上画几张图。我原以为下面的代码会画出一个全尺寸对角线的矩形,但它没有。我真的很好奇到底出了什么问题?

代码语言:javascript
运行
复制
    private void onPaint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        Pen p = new Pen(System.Drawing.Color.Black, 2);
        g.DrawRectangle(p, 50, 10, 400, 400);
        g.DrawLine(p, 50, 10, 400, 400);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-16 22:58:24

DrawRectangle中,最后两个参数是宽度和高度。在DrawLine中,最后两个参数是最终的x和最终的y。

因此,只需将起始x和起始y与宽度和高度相加,即可得到对角线:

代码语言:javascript
运行
复制
g.DrawRectangle(p, 50, 10, 400, 400);
g.DrawLine(p, 50, 10, 450, 410);
票数 2
EN

Stack Overflow用户

发布于 2013-06-17 00:49:22

另外,如果你声明了一个矩形,那么你可以在不改变绘图代码的情况下改变这些值。类似于:

代码语言:javascript
运行
复制
    private void onPaint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        Rectangle rc = new Rectangle(50, 10, 400, 400);
        using (Pen p = new Pen(System.Drawing.Color.Black, 2))
        {
            g.DrawRectangle(p, rc);
            g.DrawLine(p, rc.Left, rc.Top, rc.Right, rc.Bottom);
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17134560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档