In [6]:
import brushcue
ctx = brushcue.Context()
[wgpu] using backend Metal — adapter 'Apple M5' (IntegratedGpu), driver ''
In [7]:
# reddish blue
red = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(1, 0, 0, 1)
)
blue = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(0, 0, 1, 1)
)
red_oklab_a = red.to_ok_lab_a()
blue_oklab_a = blue.to_ok_lab_a()
midpoint_oklab_a = brushcue.OkLabA.from_components(
(red_oklab_a.l() + blue_oklab_a.l()) / 2,
(red_oklab_a.a() + blue_oklab_a.a()) / 2,
(red_oklab_a.b() + blue_oklab_a.b()) / 2,
1.0
)
midpoint_srgb = brushcue.ProfiledColor.from_ok_lab_a(midpoint_oklab_a).to_rgb_encoded_with_color_profile(
brushcue.ColorProfile.srgb()
)
midpoint_srgb.execute(ctx)
Out[7]:
(0.5504043102264404, 0.32561108469963074, 0.6365207433700562, 1.0)
In [8]:
# greenish yellow
a = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(0, 1, 0, 1)
)
b = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(1, 1, 0, 1)
)
a_oklab_a = a.to_ok_lab_a()
b_oklab_a = b.to_ok_lab_a()
midpoint_oklab_a = brushcue.OkLabA.from_components(
(a_oklab_a.l() + b_oklab_a.l()) / 2,
(a_oklab_a.a() + b_oklab_a.a()) / 2,
(a_oklab_a.b() + b_oklab_a.b()) / 2,
1.0
)
midpoint_srgb = brushcue.ProfiledColor.from_ok_lab_a(midpoint_oklab_a).to_rgb_encoded_with_color_profile(
brushcue.ColorProfile.srgb()
)
midpoint_srgb.execute(ctx)
Out[8]:
(0.6914933919906616, 1.0, 0.0002833229082170874, 1.0)
In [9]:
# greenish blue
a = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(0, 1, 0, 1)
)
b = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(0, 0, 1, 1)
)
a_oklab_a = a.to_ok_lab_a()
b_oklab_a = b.to_ok_lab_a()
midpoint_oklab_a = brushcue.OkLabA.from_components(
(a_oklab_a.l() + b_oklab_a.l()) / 2,
(a_oklab_a.a() + b_oklab_a.a()) / 2,
(a_oklab_a.b() + b_oklab_a.b()) / 2,
1.0
)
midpoint_srgb = brushcue.ProfiledColor.from_ok_lab_a(midpoint_oklab_a).to_rgb_encoded_with_color_profile(
brushcue.ColorProfile.srgb()
)
midpoint_srgb.execute(ctx)
Out[9]:
(0.0, 0.6654877066612244, 0.7480067610740662, 1.0)
In [10]:
# reddish yellow
a = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(1, 0, 0, 1)
)
b = brushcue.ProfiledColor.from_rgba_srgb(
brushcue.RGBAColor.from_components(1, 1, 0, 1)
)
a_oklab_a = a.to_ok_lab_a()
b_oklab_a = b.to_ok_lab_a()
midpoint_oklab_a = brushcue.OkLabA.from_components(
(a_oklab_a.l() + b_oklab_a.l()) / 2,
(a_oklab_a.a() + b_oklab_a.a()) / 2,
(a_oklab_a.b() + b_oklab_a.b()) / 2,
1.0
)
midpoint_srgb = brushcue.ProfiledColor.from_ok_lab_a(midpoint_oklab_a).to_rgb_encoded_with_color_profile(
brushcue.ColorProfile.srgb()
)
midpoint_srgb.execute(ctx)
Out[10]:
(1.0, 0.628318190574646, 0.0010351595701649785, 1.0)
In [ ]: