繁体   English   中英

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

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

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

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

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

在此处输入图像描述

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

pygame.draw.rect()

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

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

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

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

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

暂无
暂无

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

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