private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Brushes.Black, 1);
e.Graphics.DrawRectangle(p, 3, 3, 89, 30);
}
为什么此代码会生成一个90px宽度/ 31px高度框?即比请求更大的一个像素。 顺便说一句:FillRectangle工作正常。c#/ 2D图形/绘制矩形大小beheviour
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Brushes.Black, 1);
e.Graphics.DrawRectangle(p, 3, 3, 89, 30);
}
为什么此代码会生成一个90px宽度/ 31px高度框?即比请求更大的一个像素。 顺便说一句:FillRectangle工作正常。c#/ 2D图形/绘制矩形大小beheviour
我想这是因为命令定义了矩形的内部大小并在其周围绘制边框。
根据你的推理,它应该是+ 2px insted。 (每边1px),整个“定义矩形”保持原样。 – user1022738
的确,我没有想到这一点。 – NickLH
这是GDI +臭名昭着的错误。在试图解决它一个星期后,我在2001年完全无奈地放弃了它。当你需要翻译/重新调整时谋杀。 –