0
我使用PyGame的图形库在LED显示屏上显示图形。在PyGame中将小表面映射到较大表面上
我的LED显示屏是25x7。对于没有硬件测试,我已经能够使用pygame的的display
查看40倍放大版本:
screen = pygame.display.set_mode((1000,280))
我想实际绘制一个25x7网格盒子,rects等,然后投影到一个我的电脑上有一个更大的1000x280窗口,看起来像是一个40x40“像素”的25x7网格。这样,如果我开始使用硬件,我可以跳过大型投影,只需将25x7 = 175像素的数据写入我的LED。
我想出了一个解决方案,但它过于缓慢:
xDim = 25
yDim = 7
pixelMultiplier = 40
surf = pygame.Surface((xDim,yDim))
bigSurf = pygame.Surface((pixelMultiplier*xDim,pixelMultiplier*yDim))
# ... manipulate surf ...
# map surf to bigSurf
for x in range(xDim):
for y in range(yDim):
# grab color of pixel
tmpColor = surf.get_at((x,y))
# write to all pixels in larger surface
for i in range(pixelMultiplier):
for j in range(pixelMultiplier):
bigSurf.set_at((pixelMultiplier*x+i,pixelMultiplier*y+j),tmpColor)
有一些内置的功能pygame的做这个工作效率?