faker.providers.color¶
- class faker.providers.color.Provider(generator: Any)¶
基类:
BaseProvider实现 Faker 的默认颜色提供程序。
- color(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None, color_format: str = 'hex') str¶
以人性化的方式生成颜色。
在底层,此方法首先创建一个以 HSV 颜色模型表示的颜色,然后将其转换为所需的
color_format。参数hue根据以下规则控制 H 值:如果值是介于
0到360之间的数字,它将用作生成颜色的 H 值。如果值是介于 0 到 360 之间的两个数字的元组/列表,则颜色的 H 值将从该范围中随机选择。
如果值是有效的字符串,则颜色的 H 值将从与所提供字符串对应的 H 范围中随机选择。有效值包括
'monochrome'、'red'、'orange'、'yellow'、'green'、'blue'、'purple'和'pink'。
参数
luminosity影响 S 和 V 值,并且部分受hue的影响。这种关系的具体细节有些复杂,如果您想深入了解,请参考源代码。为了保持接口简单,此参数可以省略,也可以接受以下字符串值:'bright'、'dark'、'light'或'random'。参数
color_format控制颜色以哪种颜色模型表示。有效值包括'hsv'、'hsl'、'rgb'或'hex'(默认值)。- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(hue='red') ... '#af2f33' '#e02141' '#ef6466' '#a80a14' '#ed9e95'
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(luminosity='light') ... '#79c3e0' '#89ffa1' '#96cbf7' '#aafaff' '#e3f495'
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(hue=(100, 200), color_format='rgb') ... 'rgb(26, 155, 88)' 'rgb(9, 193, 49)' 'rgb(73, 229, 154)' 'rgb(107, 249, 166)' 'rgb(76, 204, 69)'
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(hue='orange', luminosity='bright') ... '#efc332' '#edae65' '#d1861d' '#ffcc42' '#e09533'
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(hue=135, luminosity='dark', color_format='hsv') ... 'hsv(135, 96, 45)' 'hsv(135, 98, 57)' 'hsv(135, 94, 61)' 'hsv(135, 99, 47)' 'hsv(135, 94, 50)'
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color(hue=(300, 20), luminosity='random', color_format='hsl') ... 'hsl(217, 94, 27)' 'hsl(40, 23, 54)' 'hsl(268, 100, 74)' 'hsl(175, 43, 31)' 'hsl(131, 47, 11)'
- color_hsl(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]¶
生成一个 HSL 颜色元组。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsl() ... (197, 57, 32) (132, 90, 39) (207, 76, 65) (183, 88, 33) (258, 62, 73)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsl(hue='red', luminosity='dark') ... (358, 92, 27) (350, 96, 33) (359, 88, 36) (356, 98, 28) (6, 85, 34)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsl(hue=(100, 200), luminosity='random') ... (149, 94, 27) (105, 23, 54) (162, 100, 74) (138, 43, 31) (174, 19, 55)
- color_hsv(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]¶
生成一个 HSV 颜色元组。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsv() ... (197, 73, 51) (132, 95, 76) (207, 58, 92) (183, 94, 64) (258, 37, 90)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsv(hue='red', luminosity='dark') ... (358, 96, 53) (350, 98, 66) (359, 94, 68) (356, 99, 56) (6, 92, 63)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_hsv(hue=(100, 200), luminosity='random') ... (149, 97, 53) (105, 33, 65) (162, 51, 100) (138, 61, 45) (174, 27, 64)
- color_name() str¶
生成一个颜色名称。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_name() ... 'OliveDrab' 'PeachPuff' 'BlueViolet' 'LightGoldenRodYellow' 'Teal'
- color_rgb(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]¶
生成一个整数 RGB 颜色元组。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb() ... (35, 103, 130) (9, 193, 46) (98, 173, 234) (9, 155, 163) (170, 144, 229)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb(hue='red', luminosity='dark') ... (135, 5, 9) (168, 3, 30) (173, 10, 13) (142, 1, 10) (160, 27, 12)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb(hue=(100, 200), luminosity='random') ... (4, 135, 67) (124, 165, 111) (124, 255, 215) (44, 114, 65) (119, 163, 158)
- color_rgb_float(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[float, float, float]¶
生成一个浮点数 RGB 颜色元组。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb_float() ... (0.13770000000000002, 0.4045149999999999, 0.51) (0.038000000000000034, 0.76, 0.18239999999999984) (0.3864000000000001, 0.6798800000000002, 0.92) (0.03840000000000004, 0.6099200000000001, 0.64) (0.6668999999999999, 0.5670000000000001, 0.9)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb_float(hue='red', luminosity='dark') ... (0.53, 0.02120000000000002, 0.03815999999999998) (0.66, 0.013200000000000012, 0.12100000000000023) (0.68, 0.04080000000000004, 0.05145333333333333) (0.56, 0.005600000000000005, 0.042559999999999855) (0.63, 0.10835999999999996, 0.05039999999999997)
>>> Faker.seed(0) >>> for _ in range(5): ... fake.color_rgb_float(hue=(100, 200), luminosity='random') ... (0.015900000000000015, 0.53, 0.2643816666666667) (0.489125, 0.65, 0.43549999999999994) (0.49, 1.0, 0.8470000000000001) (0.17550000000000002, 0.45, 0.2578500000000001) (0.4672, 0.64, 0.62272)
- hex_color() str¶
生成一个十六进制三元组格式的颜色。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.hex_color() ... '#d82c08' '#629f70' '#c2094d' '#e3e707' '#6baa95'
- rgb_color() str¶
生成一个逗号分隔的 RGB 值格式的颜色。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.rgb_color() ... '197,215,20' '132,248,207' '155,244,183' '111,71,144' '71,48,128'
- rgb_css_color() str¶
生成一个 CSS rgb() 函数格式的颜色。
- 示例:
>>> Faker.seed(0) >>> for _ in range(5): ... fake.rgb_css_color() ... 'rgb(197,215,20)' 'rgb(132,248,207)' 'rgb(155,244,183)' 'rgb(111,71,144)' 'rgb(71,48,128)'