小编典典

Python上是否有每种颜色的文件?

python

我正在从事多个Pygame项目,尽管将​​我从上一个文件中制作的几种颜色复制并粘贴到下一个正在处理的颜色中很不方便。我想知道是否可以将要写入到文件中的代码或可以下载的代码包含在Pygame中可以使用的python中所有(或大多数)颜色。谢谢!

import pygame
pygame.init()

gameDisplay=pygame.display.set_mode((600,600))

pygame.display.set_caption("plz help")

white=(255,255,255)#r,g,b
black=(0,0,0)
red=(255,0,0)
green=(0,255,0)
blue=(0,0,255)
aquamarine2=(118,238,198)

它可以解决问题并提供带有颜色的变量,但是我希望拥有更多的多样性以及更简单,更干净的访问方式。在网上,我只找到了找到特定颜色的方法,但是没有大量和复制和粘贴格式的内容。


阅读 248

收藏
2021-01-20

共1个答案

小编典典

您可以通过查看dict pygame.color.THECOLORS
查看所有颜色。但是,所有名称和颜色值的dict很大(当我写这篇文章时为657),因此仔细检查并查找所需内容可能很麻烦。

我经常发现自己试图查找颜色名称,并且非常方便地找到此代码段:

import pygame
from pprint import  pprint

color_list = [(c, v) for c, v in pygame.color.THECOLORS.items() if 'slategrey' in c]
pprint(color_list)

输出:

[('darkslategrey', (47, 79, 79, 255)),
 ('slategrey', (112, 128, 144, 255))
 ('lightslategrey', (119, 136, 153, 255))]

我在一个交互式会话中这样做,以获取包含“ slategrey”的所有名称,然后在我的实际代码中,可以这样使用我想要的名称:

slategrey = pygame.Color("slategrey")

然后在代码中稍后像这样引用它:

screen.fill(slategrey,  pygame.Rect(0, 0, 100, 100))

但是,如果您确实想查看pygame.color.THECOLORS中所有颜色的列表,则可以在定义了THECOLORS的pygames
colordict模块
中查看它们。

2021-01-20