python - 使用 Pyglet/OpenGL 绘制具有自定义厚度的线条?

标签 python opengl line pyglet

我画了一个矩形(4 条线段),但它们太细了。如何更改每条线的粗细?

我的以下示例给了我这个:

enter image description here

if __name__ == '__main__':
    app = App()
    game_area = None

    labels = [pyglet.text.Label("0"*8,
              font_name = "Times New Roman",
              font_size=18,
              color = (255, 0, 0, 255),
              x = app.width // 2, 
              y = app.height // 2 - n,
              anchor_x = "center", 
              anchor_y = "center") for n in range(0, 100, 18)]

    @app.event
    def on_draw():
        app.clear()
        [label.draw() for label in labels]
        pyglet.graphics.draw(4, pyglet.gl.GL_LINES, 
            ("v2f", (0, 0, 0, app.height, app.width / 2, app.height, app.width / 2, 0))
        )

    pyglet.app.run()

最佳答案

您可以通过调用 glLineWidth 来更改线宽。这是通过 pyglet 完成的,如下所示:

pyglet.gl.glLineWidth(desired_line_size)

如果您需要不同粗细的线条,则必须在绘制每条线条之前使用新粗细再次调用该函数。否则,您可以在初始化中设置厚度并保持不变。

关于python - 使用 Pyglet/OpenGL 绘制具有自定义厚度的线条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574041/

相关文章:

jquery - Flot graph - 实时图表绘制中的线宽

python - Django:CSS 和图像(静态文件)加载成功但未应用

python - 如何在odoo 9中逐行读取txt文件

java - 如何将自定义字体与 Slick 的 UnicodeFont 类一起使用?

opengl - 在 Debian 上安装 Mesa 10

html - 如何确保图标与文本在同一行,而不是换行?

python - TF keras API with TF数据集问题-steps_per_epoch参数问题

python - 使用Python复制目录结构

java - LWJGL 矩阵堆栈意外行为

perl - 将数据重定向到文件时出错