我有以下 python/pygame 代码:
import sys, pygame
from array import *
pygame.init()
height = 600
width = 800
设置显示窗口
DISPLAYSURFACE = pygame.display.set_mode((width, height))
pygame.display.set_caption('Graphics Assignment Part 1')
打开文件
file = open('F:\\school\\Graphics\\PIXA.DAT', 'r')
将文件读入列表并关闭它
vlist = file.readlines()
#close file
file.close
#remove last value from list
del vlist[-1]
将 vlist 中的值存储到点中,但将 J 更改为 JUMP 位并用 , 拆分整数
points = [list(map(int,v.split())) if v.strip().lower() != "j" else "JUMP" for v in vlist]
设置循环以拆分vlist
为 3 个 x、y、z 坐标列表列表
Xs,Ys,Zs= zip(*points)
unique_Xs = []
[unique_Xs.append(val) for val in Xs if val != "J"]
unique_Ys = []
[unique_Ys.append(val) for val in Ys if val != "U"]
unique_Zs = []
[unique_Zs.append(val) for val in Zs if val != "M"]
draw = list(zip(unique_Xs,unique_Ys))
将屏幕上的点列表绘制为一系列线条
drawing = pygame.draw.lines(DISPLAYSURFACE,(0,255,172),False, draw, 1)
更新显示并退出 pygame
pygame.display.update()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
我正在读取坐标列表并将它们存储到 x、y、z 坐标列表中,以在 pygame 中绘制一组线。
我可以绘制图像,但是整个图像并没有显示在屏幕上,因为这些点在 -2000 到 2000 的范围内。
如何在我的 python 窗口中更改我的坐标范围以在我的 800x600 显示窗口中显示我的整个图像