首页 > 解决方案 > 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)

它可以工作并提供带有颜色的变量,但我希望有更多种类和更简单、更清洁的方式来访问它。在网上,我只找到了查找特定颜色的方法,但没有找到批量和格式复制和粘贴的方法。

标签: pythoncolorspygame

解决方案


您可以通过查看 dict pygame.color.THECOLORS查看所有颜色。但是,所有名称和颜色值的字典都很大(当我写这篇文章时为 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 模块中查看它们。


推荐阅读