Przeglądaj źródła

[+] Decode RGB from hex

Azalea (on HyDEV-Daisy) 3 lat temu
rodzic
commit
bfa8540c79
1 zmienionych plików z 19 dodań i 0 usunięć
  1. 19 0
      hyfetch/color_util.py

+ 19 - 0
hyfetch/color_util.py

@@ -5,3 +5,22 @@ class RGB(NamedTuple):
     r: int
     g: int
     b: int
+
+    @classmethod
+    def from_hex(cls, hex: str) -> "RGB":
+        """
+        Create color from hex code
+
+        >>> RGB.from_hex('#FFAAB7')
+        RGB(r=255, g=170, b=183)
+
+        :param hex: Hex color code
+        :return: RGB object
+        """
+        while hex.startswith('#'):
+            hex = hex[1:]
+
+        r = int(hex[0:2], 16)
+        g = int(hex[2:4], 16)
+        b = int(hex[4:6], 16)
+        return cls(r, g, b)