Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-根据PNG文件的颜色计算顶点_Python_Pygame_Pygame Surface - Fatal编程技术网

Python-根据PNG文件的颜色计算顶点

Python-根据PNG文件的颜色计算顶点,python,pygame,pygame-surface,Python,Pygame,Pygame Surface,这是我的照片: 在这张图片中,我有一个方形网格,我想知道是否有一种方法可以不经过硬编码就从棕色对象计算顶点。如何使用Python和Pygame实现这一点?地图由大小为64的方形瓷砖组成。棕色对象的颜色为RGB(90,40,2),绿色对象的颜色为RGB(57,214,105) 通过读取每个平铺中心的1个像素并将其与棕色进行比较来创建网格: map\u image=pygame.image.load(“KkiJJ.png”) map\u size=map\u image.get\u size()

这是我的照片:


在这张图片中,我有一个方形网格,我想知道是否有一种方法可以不经过硬编码就从棕色对象计算顶点。如何使用Python和Pygame实现这一点?

地图由大小为64的方形瓷砖组成。棕色对象的颜色为RGB(90,40,2),绿色对象的颜色为RGB(57,214,105)

通过读取每个平铺中心的1个像素并将其与棕色进行比较来创建网格:

map\u image=pygame.image.load(“KkiJJ.png”)
map\u size=map\u image.get\u size()
瓷砖尺寸=64
网格=[]
对于范围内的x(贴图大小[0]//平铺大小):
列=[]
对于范围内的y(贴图大小[1]//平铺大小):
颜色=映射图像。在((x*平铺大小+平铺大小//2,y*平铺大小+平铺大小//2)处获取图像)
如果color.r==90,color.g==44,color.b==2:
列。追加(1)
其他:
列。追加(0)
grid.append(列)
c
列和
r
行中磁贴的坐标可以用
pygame.Rect
对象表示:

r=pygame.Rect(c*分幅大小,r*分幅大小,分幅大小,分幅大小)

Pygame没有内置任何功能。如果你想这样做的话,去调查一下。对于Python中的OpenCV,可以使用