%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# # The Python Imaging Library. # $Id$ # # standard mode descriptors # # History: # 2006-03-20 fl Added # # Copyright (c) 2006 by Secret Labs AB. # Copyright (c) 2006 by Fredrik Lundh. # # See the README file for information on usage and redistribution. # # mode descriptor cache _modes = None class ModeDescriptor(object): """Wrapper for mode strings.""" def __init__(self, mode, bands, basemode, basetype): self.mode = mode self.bands = bands self.basemode = basemode self.basetype = basetype def __str__(self): return self.mode def getmode(mode): """Gets a mode descriptor for the given mode.""" global _modes if not _modes: # initialize mode cache from . import Image modes = {} # core modes for m, (basemode, basetype, bands) in Image._MODEINFO.items(): modes[m] = ModeDescriptor(m, bands, basemode, basetype) # extra experimental modes modes["RGBa"] = ModeDescriptor("RGBa", ("R", "G", "B", "a"), "RGB", "L") modes["LA"] = ModeDescriptor("LA", ("L", "A"), "L", "L") modes["La"] = ModeDescriptor("La", ("L", "a"), "L", "L") modes["PA"] = ModeDescriptor("PA", ("P", "A"), "RGB", "L") # mapping modes modes["I;16"] = ModeDescriptor("I;16", "I", "L", "L") modes["I;16L"] = ModeDescriptor("I;16L", "I", "L", "L") modes["I;16B"] = ModeDescriptor("I;16B", "I", "L", "L") # set global mode cache atomically _modes = modes return _modes[mode]