我想在PictureBox上画几张图。我原以为下面的代码会画出一个全尺寸对角线的矩形,但它没有。我真的很好奇到底出了什么问题?
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);
}发布于 2013-06-16 22:58:24
在DrawRectangle中,最后两个参数是宽度和高度。在DrawLine中,最后两个参数是最终的x和最终的y。
因此,只需将起始x和起始y与宽度和高度相加,即可得到对角线:
g.DrawRectangle(p, 50, 10, 400, 400);
g.DrawLine(p, 50, 10, 450, 410);发布于 2013-06-17 00:49:22
另外,如果你声明了一个矩形,那么你可以在不改变绘图代码的情况下改变这些值。类似于:
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);
}
}https://stackoverflow.com/questions/17134560
复制相似问题