微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Python - 根据颜色计算 PNG 文件的顶点

这是我的图片

对于这张图片我有一个方形网格,我想知道是否有一种方法可以在不进行硬编码的情况下计算棕色对象的顶点。我如何使用 Python 和 Pygame 做到这一点?

解决方法

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

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

map_image = pygame.image.load("KkiJJ.png")
map_size = map_image.get_size()

tile_size = 64
grid = []
for x in range(map_size[0] // tile_size):
    column = [] 
    for y in range(map_size[1] // tile_size):
        color = map_image.get_at((x*tile_size + tile_size//2,y*tile_size + tile_size//2))
        if color.r == 90 and color.g == 44 and color.b == 2:
            column.append(1)
        else:
            column.append(0)
    grid.append(column)

c 列和 r 行中瓷砖的坐标可以由 pygame.Rect 对象表示:

r = pygame.Rect(c * tile_size,r * tile_size,tile_size,tile_size)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。