""" pygame的8位深图图与调色板研究 pygame.surfarray.make_surface能转换一个2D阵列到一个8位深的表面。 如果是3D阵列,那么就转换为32位深的表面。 位深代表能显示的颜色数量,8位深的图能显示265种颜色。这个时候的数值是从0到255, 但0到255的数值不代表一种颜色,而是代表一种颜色的索引号。 Pygame不会存储具体的RGBA三元组值在内存中,而是存储一个整数。 如果是大于8位深的图,那么这个整数可以解码成具体的RGBA值。 如果是8位深的图,通过内置的调色板让每个整数对应一个RGBA值, 这个调色板能通过surface.get_palette()获取,也可以通过命令 surface.set_palette()设置调色板。 """ import pygame width,height = 200,200 screen = pygame.display.set_mode((width,height)) # 8位深只支持256种颜色,下面把从0到99行列的像素设为:128,122,0这种颜色 # 而实际显示的是170,109,0这种调色板上的颜色 s = pygame.Surface((width,height),depth=8) for x in range(100): for y in range(100): s.set_at((x,y),(128,122,0,255)) print("8位深的调色板",s.get_palette()) screen.blit(s,(0,0))需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
-
- 2025 年 3 月
- 2025 年 2 月
- 2025 年 1 月
- 2024 年 12 月
- 2024 年 8 月
- 2024 年 6 月
- 2024 年 5 月
- 2024 年 4 月
- 2024 年 3 月
- 2024 年 2 月
- 2023 年 11 月
- 2023 年 9 月
- 2023 年 6 月
- 2023 年 5 月
- 2023 年 4 月
- 2023 年 3 月
- 2023 年 2 月
- 2023 年 1 月
- 2022 年 12 月
- 2022 年 11 月
- 2022 年 10 月
- 2022 年 9 月
- 2022 年 8 月
- 2022 年 7 月
- 2022 年 6 月
- 2022 年 5 月
- 2022 年 4 月
- 2022 年 3 月
- 2022 年 2 月
- 2022 年 1 月
- 2021 年 12 月
- 2021 年 11 月
- 2021 年 10 月
- 2021 年 9 月
- 2021 年 8 月
- 2021 年 7 月
- 2021 年 6 月
- 2021 年 5 月
- 2021 年 4 月
- 2021 年 3 月
- 2021 年 2 月
- 2021 年 1 月
- 2020 年 12 月
- 2020 年 11 月
- 2020 年 10 月
- 2020 年 9 月
- 2020 年 8 月
- 2020 年 7 月
- 2020 年 6 月
- 2020 年 5 月
- 2020 年 4 月
- 2020 年 3 月
- 2020 年 2 月
- 2020 年 1 月
- 2019 年 12 月
- 2019 年 11 月
- 2019 年 10 月
- 2019 年 9 月
- 2019 年 8 月
- 2019 年 7 月
- 2019 年 6 月
- 2019 年 5 月
- 2019 年 4 月
- 2019 年 3 月
- 2019 年 2 月
- 2018 年 3 月
- 2018 年 1 月
- 2017 年 9 月
- 2017 年 5 月
- 2017 年 1 月