繁体   English   中英

为什么绘制带有非常厚边框的 PyGame 矩形而不是绘制加号?

Why did drawing a PyGame rectangle with very thick borders draw a plus shape instead?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

所以我今天画了一个矩形:

my_rectangle = pygame.Rect(100, 100, 5, 5)
pygame.draw.rect(display, colour["black"], my_rectangle, 100)

它不是绘制一个细边框的矩形,而是绘制一个非常大的十字/加号。

在此处输入图像描述

发生这种情况是因为我在将矩形绘制到屏幕上时输入了“100”而不是“1”作为边框厚度。
但这背后的逻辑是什么?
边框厚度变得如此之大以至于......?
有人想解释一下你认为或知道发生了什么吗?

1 个回复

pygame.draw.rect()

rect(surface, color, rect, width=0) -> Rect

width (int) -- (可选)用于线条粗细或表示要填充矩形(不要与 rect 参数的宽度值混淆)

  • 如果宽度 > 0,则用于线条粗细

注意当使用宽度值 > 1 时,边缘线将增长到 rect 的原始边界之外

因此,您实际上沿着矩形的边缘绘制了 4 条长度为 5 的线,但厚度为 100 条。 由于线条排列成正方形并且比它们的长度更粗,因此最终的形状似乎是一个十字形。

1 为什么pygame不会画一个圆圈?

我是python的初学者,我试图在鼠标所在的地方绘制一个圆圈(我还有一个鼠标和背景图像)。 这是我的代码: 每当我点击没有任何反应。 为什么不画圆圈? 谢谢您的帮助! ...

2 为什么这不会画一个直的矩形?

设计一个具有以下属性的矩形 class。 实现您的矩形 class 设计。 尝试使用默认构造函数和可以获取 x 和 y 坐标、矩形长度和宽度的构造函数的矩形我设计了 Rectangle 类(如下所示),当运行跑步者 class 时,我应该得到两个直/重叠的矩形。 相反,我的一个矩形很好,另一个是倾 ...

4 画一个连续的矩形

我目前正在Visual C ++ 2008 Express Edition上工作。.在我的项目中,我有一个包含图像的图片框,现在我必须绘制一个矩形以使用户能够选择图像的一部分。.我使用了“ MouseDown”图片框的事件以及下面的代码绘制矩形: 现在在“ DrawRectangle”中 ...

5 画一个可拖动的矩形

如果我在框架上绘制一个矩形,然后将该矩形拖到该框架上的不同位置。 我该怎么办? 如果我的描述不清楚,请添加评论。 这可能有点令人困惑。 ...

6 画一个矩形

出于某种原因,当我运行程序时,矩形不会显示。 但代码运行没有任何错误。 我究竟做错了什么? (我使用csc.exe编译代码,我用notepad ++编写) 绘图代码: 完整代码: ...

7 画一个带星号的矩形

我正在尝试编写一个 C++ 程序来显示一个用星号绘制的矩形。 我的程序运行正常,但只有矩形高度的一侧打印出来。 这是我目前为显示矩形方法编写的代码。 ...

2015-04-28 19:39:39 4 5821   c++
8 画一个变形的矩形

我正在尝试使用Canvas绘制一个扭曲的矩形。 我尝试过使用Path绘制直线,然后使用arcTo() ,但是我不知道应该使用哪个值。 如何绘制与图像中的形状相似的形状? 编辑:此代码不起作用,它绘制一条直线。 ...

9 画一个矩形

按住鼠标右键并在图像上移动鼠标时,我试图在图像上方绘制一个矩形。 在单击鼠标时,一个布尔值将更改为true,并且当发生mouse move事件并且布尔值为true时,我有以下代码: 问题是矩形是从图像的中心而不是从单击的点绘制的。 ...

2014-12-31 14:44:06 0 113   c#/ wpf
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM