1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Ë
³òúhO$ãó¸—ddlmZddlZddlmZddlmZddlmZm    Z    m
Z
m Z dZ e rddlm Z Gd    „d
«Zdd „Zdd „Zdd „Zddd„Zddd„Zddd„Zddd„Zdd„Zy)é)Ú annotationsN)ÚSequence)ÚIOé)ÚGimpGradientFileÚGimpPaletteFileÚ
ImageColorÚ PaletteFileF)ÚImagecóè—eZdZdZ        d                    dd„Zedd„«Zejdd„«Zedd„«Zejdd„«Zdd„Z    dd    „Z
dd
„Z e Z     d                    dd „Z     d                    dd „Zdd „Zy)Ú ImagePalettea¥
    Color palette for palette mapped images
 
    :param mode: The mode to use for the palette. See:
        :ref:`concept-modes`. Defaults to "RGB"
    :param palette: An optional palette. If given, it must be a bytearray,
        an array or a list of ints between 0-255. The list must consist of
        all channels for one color followed by the next color (e.g. RGBRGBRGB).
        Defaults to an empty palette.
    NcóT—||_d|_|xs
t«|_d|_y©N)ÚmodeÚrawmodeÚ    bytearrayÚpaletteÚdirty)Úselfrrs   úCH:\Change_password\venv_build\Lib\site-packages\PIL/ImagePalette.pyÚ__init__zImagePalette.__init__+s'€ð
ˆŒ    Ø#'ˆŒ ØÒ-¤)£+ˆŒ Ø!%ˆ
ócó—|jSr)Ú_palette©rs rrzImagePalette.palette5s €à}‰}Ðrcó —d|_||_yr)Ú_colorsr)rrs  rrzImagePalette.palette9s€à:>ˆŒ ؈ rcó,—|j€}t|j«}i|_tdt|j«|«D]>}t |j|||z«}||jvrŒ-||z|j|<Œ@|jS)Nr)rÚlenrÚrangerÚtuple)rÚmode_lenÚiÚcolors    rÚcolorszImagePalette.colors>s‡€à <‰<Рܘ4Ÿ9™9“~ˆH؈DŒLܘ1œc $§,¡,Ó/°Ó:ò 4Ü˜dŸl™l¨1¨q°8©|Ð<Ó=Ø˜DŸL™LÑ(ØØ&'¨8¡m— ‘ ˜UÒ#ð     4ð
|‰|Ðrcó—||_yr)r)rr%s  rr%zImagePalette.colorsJs    €àˆ rcóÀ—t«}|j|_|j|_|j|jdd|_|j|_|Sr)r rrrr)rÚnews  rÚcopyzImagePalette.copyNsH€Ü‹nˆà—9‘9ˆŒØ—l‘lˆŒ Ø <‰<Ð #ØŸ,™,¡q˜/ˆCŒKØ—J‘JˆŒ    àˆ
rcó‚—|jr|j|jfS|j|j«fS)z£
        Get palette contents in format suitable for the low-level
        ``im.putpalette`` primitive.
 
        .. warning:: This method is experimental.
        )rrrÚtobytesrs rÚgetdatazImagePalette.getdataYs3€ð <Š<Ø—<‘< §¡Ð-Ð -؏y‰y˜$Ÿ,™,›.Ð(Ð(rcóà—|jr d}t|«‚t|jt«r |jSt j
d|j«}|j «S)zUConvert palette to bytes.
 
        .. warning:: This method is experimental.
        ú!palette contains raw palette dataÚB)rÚ
ValueErrorÚ
isinstancerÚbytesÚarrayr+)rÚmsgÚarrs   rr+zImagePalette.tobytesdsR€ð
<Š<Ø5ˆCܘS“/Ð !Ü d—l‘l¤EÔ *Ø—<‘<Р܏k‰k˜#˜tŸ|™|Ó,ˆØ{‰{‹}Ðrcóä—t|jt«st|j«|_t    |j«dz}d}|rD|j
j d«|j
j d«f}||vr
|dz }||vrŒ
|dk\rV|rAttt|j««««D]\}}|dk(sŒ ||vsŒ|}n|dk\rd}t|«|‚|S)    Né©Ú
backgroundÚ transparencyrérz$cannot allocate more than 256 colors) r1rrrrÚinfoÚgetÚreversedÚlistÚ    enumerateÚ    histogramr0)rÚimageÚeÚindexÚspecial_colorsr#Úcountr4s        rÚ_new_color_indexzImagePalette._new_color_indextsé€ô˜$Ÿ,™,¬    Ô2Ü% d§l¡lÓ3ˆDŒMܐD—L‘LÓ! QÑ&ˆØCEˆÙ à—
‘
—‘˜|Ó,Ø—
‘
—‘˜~Ó.ðˆNð˜>Ñ)ؘ‘
ð˜>Ò)à CŠ<Ùä (¬¬i¸¿¹Ó8IÓ.JÓ)KÓ Lò‘HAuØ “z a¨~Ò&=Ø !˜Ùðð˜Š|Ø<Ü  “o¨1Ð,؈ rcóø—|jr d}t|«‚t|t«rj|jdk(r)t |«dk(r=|ddk7r d}t|«‚|dd}n"|jdk(rt |«dk(r|d    z }    |j |Sd t|«›}t|«‚#t$rÃ}|j||«}t|jt«sJ‚||j |<|dzt |j«kr:|jd|dzt|«z|j|dzdzdz|_    n|xjt|«z c_    d
|_ |cYd}~Sd}~wwxYw) zgGiven an rgb tuple, allocate palette entry.
 
        .. warning:: This method is experimental.
        r.ÚRGBér7éÿz/cannot add non-opaque RGBA color to RGB paletteNÚRGBA)rKrzunknown color specifier: )rr0r1r!rrr%ÚKeyErrorrGrrrr2rÚrepr)rr$rBr4rCrDs      rÚgetcolorzImagePalette.getcolorŽsk€ð <Š<Ø5ˆCܘS“/Ð !Ü eœUÔ #؏y‰y˜EÒ!ܐu“: ’?ؘQ‘x 3’ØO˜Ü(¨›oÐ-Ø! " 1˜I‘EØ—‘˜fÒ$ܐu“: ’?ؘV‘OEð Ø—{‘{ 5Ñ)Ð)ð".¬d°5«k¨]Ð;ˆCܘS“/Ð !øô#ò à×-Ñ-¨e°QÓ7Ü! $§-¡-´Ô;Ð;Ð;Ø%*— ‘ ˜EÑ"ؘ1‘9œs 4§<¡<Ó0Ò0àŸ ™  k¨°©    Ð2Ü ›,ñ'àŸ-™-¨°©    °A© ¨Ð8ñ9ð•Mð —M’M¤U¨5£\Ñ1•Mؐ”
Ø• ûð úsÂB-Â-    E9Â6B8E4Å.E9Å4E9cóX—|jr d}t|«‚t|t«r t    |d«}|j d«|j d|j ›d«td«D]‡}|j |›«t|t|j «z|dzt|j «z«D]$}    |j d|j|›«Œ&|j d«Œ‰|j«y
#t$r|j d    «YŒgwxYw) zVSave palette to text file.
 
        .. warning:: This method is experimental.
        r.Úwz
# Palette
z# Mode: ú
r;rú z 0N) rr0r1ÚstrÚopenÚwriterr rrÚ
IndexErrorÚclose)rÚfpr4r#Újs     rÚsavezImagePalette.save¹sþ€ð
<Š<Ø5ˆCܘS“/Ð !Ü bœ#Ô Üb˜#“ˆBØ
‰ÔØ
‰8˜DŸI™I˜; bÐ)Ô*ܐs“ò    ˆAØ H‰H˜sÔ Ü˜1œs 4§9¡9›~Ñ-°°A±¼¸T¿Y¹Y»Ñ/GÓHò #ð#Ø—H‘H˜q §¡¨a¡Р1Ð2Õ3ð #ð
H‰HTNð    ð     ‰
øô"ò#Ø—H‘H˜T–Nð#úsÃ!D Ä D)Ä(D))rIN)rrTrz(Sequence[int] | bytes | bytearray | NoneÚreturnÚNone)r\ú!Sequence[int] | bytes | bytearray)rr^r\r])r\údict[tuple[int, ...], int])r%r_r\r])r\r )r\z-tuple[str, Sequence[int] | bytes | bytearray])r\r2)NN)rBúImage.Image | NonerCzException | Noner\Úintr)r$ztuple[int, ...]rBr`r\ra)rYz str | IO[str]r\r])Ú__name__Ú
__module__Ú __qualname__Ú__doc__rÚpropertyrÚsetterr%r)r,r+ÚtostringrGrOr[r8rrr r sî„ñ    ðØ<@ð&àð&ð:ð&ð
ó    &ðòóðð ‡^^ò óð ðò    óð    ð ‡]]òóðó    ó    )ó ð€HðGKðØ'ðØ3Cðà     óð:%)ð)"àð)"ð"ð)"ð
ó    )"ôVrr cóD—t«}||_||_d|_|S)Nr)r rrr)rÚdatars   rÚrawrkÔs#€Ü‹n€GØ€G„OØ€G„OØ€G„MØ €Nrcó€—|dk(r(td«Dcgc]}t||zdz«‘Œc}Sd}t|«‚cc}w)Nrr;rKz"unavailable when black is non-zero)r raÚNotImplementedError)ÚblackÚwhiter#r4s    rÚmake_linear_lutrpàsA€Ø ‚zÜ/4°S«zÖ:¨!”E˜A‘I Ñ$Õ%Ò:Ð:à
.€CÜ
˜cÓ
"Ð"ùò;s“;cóh—td«Dcgc]}t|dz |zdzdz«‘Œc}Scc}w)Nr;gào@gà?)r ra)Úexpr#s  rÚmake_gamma_lutrsès2€Ü=BÀ3»ZÖ H¸ŒC!e‘) Ñ# uÑ,¨sÑ2Õ 3Ò HÐHùÒ HsŽ/c
ó¸—ttdt|«z««}|j«t    ||Dcgc]}|t|«z‘Œc}«Scc}w©Nr;)r?r rÚreverser ©rrr#s   rÚnegativerxìsF€Ü”5˜œs 4›y™Ó)Ó*€GØ ‡OOÔÜ ˜°wÖ?°!˜q¤C¨£I›~Ò?Ó @Ð@ùÒ?s»A
có†—ddlm}tdt|«z«Dcgc] }|dd«‘Œ }}t    ||«Scc}w)Nr)Úrandintr;rK)Úrandomrzr rr )rrzÚ_rs    rr{r{òs>€Ýä(-¨c´C¸³I©oÓ(>Ö? 1‰wq˜#Ð?€GÐ?Ü ˜˜gÓ &Ð&ùò@s >c    ó̗tj|«Dcgc]}td|«‘Œ}}tdt    d«Dcgc]}||dz|dz‘Œc}«Scc}wcc}w)NrrIir7)r    Úgetrgbrpr r )roÚbandÚbandsr#s    rÚsepiarùs]€Ü2<×2CÑ2CÀEÓ2JÖ K¨$Œ_˜Q Õ %Ð K€EÐ KÜ ˜¼eÀG»nÖM¸  a¨!¡e¡ ¨Q°!©VÓ 4ÒMÓ NÐNùò LùÚMs ˜AÁA!
c
ó˜—ttdt|«z««}t||Dcgc]}|t|«z‘Œc}«Scc}wru)r?r rr rws   rÚwedgerƒþs<€Ü”5˜œs 4›y™Ó)Ó*€GÜ ˜°wÖ?°!˜q¤C¨£I›~Ò?Ó @Ð@ùÒ?s«A
cóT—t|d«5}tjtjtjg}|D].}    |j    d«||«j «}|rnŒ0d}t|«‚    ddd«|S#t tf$rYŒZwxYw#1swYSxYw)NÚrbrzcannot load palette)    rUrrr
ÚseekÚ
getpaletteÚ SyntaxErrorr0ÚOSError)ÚfilenamerYÚpaletteHandlersÚpaletteHandlerÚlutr4s      rÚloadrŽsÀô
ˆh˜Ó    ð ô × +Ñ +Ü × -Ñ -Ü × #Ñ #ð
ð     ð.ò
    ˆNð Ø—‘˜”
Ù$ RÓ(×3Ñ3Ó5ÙÙðð    
    ð(ˆCܘ#“,Ð ð ÷#ð0 €Jøô  ¤Ð,ò Ùð ú÷%ð0 €Jús/5BÁ)BÁ,BÂBÂBÂBÂBÂB')rrTrjr^r\r )rnraroÚfloatr\ú    list[int])rrrr\r)rI)rrTr\r )z#fff0c0)rorTr\r )rŠrTr\ztuple[bytes, str])Ú
__future__rr3Úcollections.abcrÚtypingrÚrrr    r
Ú TYPE_CHECKINGr r rkrprsrxr{rrƒrŽr8rrú<module>r–s]ðõ$#ã Ý$ÝçHÓHà€ ÙÝ÷nñnójó#óIôAô 'ôOô
Aô
r