add icc color workaround (#3687)

pull/3694/head dev-build-kaalleen-circular-fill-multilinestring-outline
Kaalleen 2025-04-26 06:05:12 +02:00 zatwierdzone przez GitHub
rodzic b30395b73c
commit 4cfb02c370
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
1 zmienionych plików z 6 dodań i 1 usunięć

Wyświetl plik

@ -5,7 +5,7 @@
import colorsys
from inkex import Color
from inkex import Color, ColorCMS
from pyembroidery.EmbThread import EmbThread
@ -33,6 +33,11 @@ class ThreadColor(object):
self.rgb = (color.get_red(), color.get_green(), color.get_blue())
return
elif isinstance(color, str):
# This will catch icc colors which cannot be parsed as rgb colors directly
if isinstance(Color(color), ColorCMS):
# The icc color has a hex color prepended.
# The easiest way to receive a color value is therefore to just use the hex color from the front.
color = color.split()[0]
self.rgb = tuple(Color(color).to('rgb').get_values(False))
elif isinstance(color, (list, tuple)):
self.rgb = tuple(color)