颜色数据库#
自从引入涉及颜色的方法(例如 Page.draw_circle()
)以来,可能会需要访问预定义颜色。
出色的 GUI 包 wxPython 有一个包含 540 多种预定义 RGB 颜色的数据库,这些颜色被赋予了或多或少易于记忆的名称。其中包括不仅有“绿色”或“蓝色”等标准名称,还有“青绿色”、“天蓝色”,以及 100 种(不仅仅是 50 种……)“灰色”的阴影等。
我们冒昧地将这个数据库(一个元组列表)修改后复制到 PyMuPDF 中,并将其颜色作为兼容 PDF 的浮点三元组提供:对于 wxPython 的 (“WHITE”, 255, 255, 255),我们返回 (1, 1, 1),这可以直接用于 color 和 fill 参数。我们也接受任何大小写的“wHiTe”来查找颜色。
函数 getColor()#
由于颜色数据库可能不经常需要,因此似乎可以接受额外添加一个导入语句来访问它
>>> # "getColor" is the only method you really need
>>> from pymupdf.utils import getColor
>>> getColor("aliceblue")
(0.9411764705882353, 0.9725490196078431, 1.0)
>>> #
>>> # to get a list of all existing names
>>> from pymupdf.utils import getColorList
>>> cl = getColorList()
>>> cl
['ALICEBLUE', 'ANTIQUEWHITE', 'ANTIQUEWHITE1', 'ANTIQUEWHITE2', 'ANTIQUEWHITE3',
'ANTIQUEWHITE4', 'AQUAMARINE', 'AQUAMARINE1'] ...
>>> #
>>> # to see the full integer color coding
>>> from pymupdf.utils import getColorInfoList
>>> il = getColorInfoList()
>>> il
[('ALICEBLUE', 240, 248, 255), ('ANTIQUEWHITE', 250, 235, 215),
('ANTIQUEWHITE1', 255, 239, 219), ('ANTIQUEWHITE2', 238, 223, 204),
('ANTIQUEWHITE3', 205, 192, 176), ('ANTIQUEWHITE4', 139, 131, 120),
('AQUAMARINE', 127, 255, 212), ('AQUAMARINE1', 127, 255, 212)] ...
打印颜色数据库#
如果您想实际查看许多可用颜色是什么样子,请使用示例目录中的按 RGB 打印脚本或按 HSV 打印脚本。它们会创建包含所有这些颜色的 PDF 文件(已存在于同一目录中)。它们唯一的区别是排序顺序:一个使用 RGB 值作为排序标准,另一个使用色相-饱和度值作为排序标准。这是这些文件外观的屏幕截图。
