diff options
Diffstat (limited to 'venv/lib/python3.9/site-packages/PIL/PaletteFile.py')
-rw-r--r-- | venv/lib/python3.9/site-packages/PIL/PaletteFile.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/venv/lib/python3.9/site-packages/PIL/PaletteFile.py b/venv/lib/python3.9/site-packages/PIL/PaletteFile.py new file mode 100644 index 00000000..4a2c497f --- /dev/null +++ b/venv/lib/python3.9/site-packages/PIL/PaletteFile.py @@ -0,0 +1,51 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read simple, teragon-style palette files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# + +from ._binary import o8 + + +class PaletteFile: + """File handler for Teragon-style palette files.""" + + rawmode = "RGB" + + def __init__(self, fp): + self.palette = [(i, i, i) for i in range(256)] + + while True: + s = fp.readline() + + if not s: + break + if s[:1] == b"#": + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = [int(x) for x in s.split()] + try: + [i, r, g, b] = v + except ValueError: + [i, r] = v + g = b = r + + if 0 <= i <= 255: + self.palette[i] = o8(r) + o8(g) + o8(b) + + self.palette = b"".join(self.palette) + + def getpalette(self): + return self.palette, self.rawmode |