Python pyglet绘制黑色线条而不是绿色像素的问题

Python pyglet绘制黑色线条而不是绿色像素的问题,python,line,pyglet,Python,Line,Pyglet,因此,我是Python的初学者,我一直在玩pyglet,如果您运行以下代码,我发现了一个问题: from pyglet.gl import * window = pyglet.window.Window(1000,500,"App",resizable=True) window.set_minimum_size(500,250) image =pyglet.resource.image("logo.png") intt = None def pixel(x1,y1): color

因此,我是Python的初学者,我一直在玩pyglet,如果您运行以下代码,我发现了一个问题:

from pyglet.gl import *

window = pyglet.window.Window(1000,500,"App",resizable=True)
window.set_minimum_size(500,250)

image =pyglet.resource.image("logo.png")

intt = None

def pixel(x1,y1):
    color = []
    size = []
    for x in range(x1):
        for y in range(y1):
            size.append(x)
            size.append(y)

            color.append(0)
            color.append(255)
            color.append(0)

    vertex_list = pyglet.graphics.vertex_list(x1 * y1,('v2i', size ),
                                                     ('c3B', color ))
    return vertex_list

@window.event
def on_draw():
    window.clear()
    #vertex_list = pixel(600,500)
    #vertex_list.draw(GL_POINTS)
    color = []
    size = []
    for x in range(100):
        for y in range(500):
            size.append(x+504)
            size.append(y)

            color.append(0)
            color.append(255)
            color.append(0)

    vertex_list = pyglet.graphics.vertex_list(100 * 500, ('v2i', size),
                                              ('c3B', color))

    vertex_list.draw(GL_POINTS)

pyglet.app.run()

您会发现显示的区域中有黑线。我已经尝试过修复它,但它不起作用,因为pyglet不太出名,所以没有视频描述这个问题。我希望你知道如何修复它,因为你是我最后的希望。

如果你想画一个填充区域,那么就画一个矩形
GL\u多边形
原语,而不是多个
GL\u点
原语。这将更快,并确保该区域完全填满:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
def像素(x1、y1、x2、y2):
尺寸=[x1,y1,x2,y1,x2,y2,x1,y2]
颜色=[]
对于范围(4)内的uu:
颜色+=[0,255,0]
顶点列表=pyglet.graphics.vertex列表(4,('v2i',大小),('c3B',颜色))
返回顶点列表
@窗口事件
def on_draw():
window.clear()
顶点列表=像素(500,0600500)
顶点列表绘制(GL多边形)
pyglet.app.run()文件

如果要绘制纹理,请生成纹理和:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
def四边形纹理(x、y、w、h、纹理):
顶点=[x,y,x+w,y,x+w,y+h,x,y+h]
tex=[0,0,1,0,1,1,0,1]
batch=pyglet.graphics.batch()
批量添加(4,GL_四边形,纹理,('v2i',顶点),('t2f',tex))
返回批次
@窗口事件
def on_draw():
window.clear()
batch.draw()
file=“logo.png”
image=pyglet.image.load(文件)
tex=pyglet.graphics.TextureGroup(image.get\u texture())
批次=四边形纹理(20,20,image.width,image.height,tex)
pyglet.app.run()文件

更简单的方法是使用一个。e、 g:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
@窗口事件
def on_draw():
window.clear()
sprite.draw()
file=“logo.png”
image=pyglet.image.load(文件)
sprite=pyglet.sprite.sprite(图像,x=20,y=20)
pyglet.app.run()文件

如果要绘制填充区域,请绘制一个矩形
GL_多边形
基本体,而不是多个
GL_点
基本体。这将更快,并确保该区域完全填满:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
def像素(x1、y1、x2、y2):
尺寸=[x1,y1,x2,y1,x2,y2,x1,y2]
颜色=[]
对于范围(4)内的uu:
颜色+=[0,255,0]
顶点列表=pyglet.graphics.vertex列表(4,('v2i',大小),('c3B',颜色))
返回顶点列表
@窗口事件
def on_draw():
window.clear()
顶点列表=像素(500,0600500)
顶点列表绘制(GL多边形)
pyglet.app.run()文件

如果要绘制纹理,请生成纹理和:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
def四边形纹理(x、y、w、h、纹理):
顶点=[x,y,x+w,y,x+w,y+h,x,y+h]
tex=[0,0,1,0,1,1,0,1]
batch=pyglet.graphics.batch()
批量添加(4,GL_四边形,纹理,('v2i',顶点),('t2f',tex))
返回批次
@窗口事件
def on_draw():
window.clear()
batch.draw()
file=“logo.png”
image=pyglet.image.load(文件)
tex=pyglet.graphics.TextureGroup(image.get\u texture())
批次=四边形纹理(20,20,image.width,image.height,tex)
pyglet.app.run()文件

更简单的方法是使用一个。e、 g:

从pyglet.gl导入*
window=pyglet.window.window(1000500,“应用”,可调整大小=True)
窗口。设置最小尺寸(500250)
@窗口事件
def on_draw():
window.clear()
sprite.draw()
file=“logo.png”
image=pyglet.image.load(文件)
sprite=pyglet.sprite.sprite(图像,x=20,y=20)
pyglet.app.run()文件