)Ej. ddlmZddlZddlZddlmZmZddlmZm Z m Z ddl m Z dZ dZd Zd Zd Zd Zd ZdZdZe dededededededededi Ziddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2Zd3D]Zd4d5efed6ed7<d4d5efed8ed7<d9D]$Zd:ed:efed6ed7<d:ed:efed8ed7<%d;D]ZdD]Zd4d5efed8ed7<ejd?Zd[dDZGdEdFe j ZdGdHd+dId-dJdKdLdMdNdd.dOd0dPdQZd\dYZ ej!ej"eej#ej"e ej$ej"dZdS)]) annotationsN)IOAny)Image ImageFile ImagePalette) DeferredErrorCommentDatezDigitalization equipmentzFile size (no of images)LutNamez Scale (x,y)zImage size (x*y)z Image typez 0 1 image)1rz L 1 imagezGreyscale image)LrzGrayscale imagez RGB image)RGBRGB;Lz RLB image)rRLBz RYB imagezB1 imagezB2 image)PzP;2zB4 image)rzP;4z X 24 image)rrz L 32 S image)IzI;32z L 32 F image)FzF;32z RGB3 image)rRGB;Tz RYB3 image)rRYB;TzLA image)LAzLA;LzPA image)rPA;L)RGBAzRGBA;L)rRGBX;L)CMYKzCMYK;L)YCbCrYCbCr;L)z RGBA imagez RGBX imagez CMYK imagez YCC image)88S1616S3232FrF;zL z imagezL*)r"16L16BzI;)32Sr!s"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$srreturnfloatc` t|S#t$rt|cYSwxYwN)int ValueErrorr.)r,s CC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/ImImagePlugin.pynumberr4ls<1vv Qxxs --cbeZdZdZdZdZddZeddZedd Z dd Z dd Z dS) ImImageFileIMzIFUNC Image MemoryFr-Nonec  |jJd|jdvrd}t||jdd}d|jt <d|jt <d|jt<d|_ |jd}|d kr"|r |d ks|d krn6||j z}t|dkrd}t|| d r |dd }n| dr |dd} t |}n)#tj$r}d}t||d}~wwxYw|rE|dd\}}|dd}|dd}|tt$t fvrg|dd}t)t+t,| d}t|dkr|d}n)|t kr|t.vrt.|\}|_|t0kr6||jvr!|j||n|g|j|<n ||j|<|t4vr|dz }n(d|dd}t|g|sd}t||jt |_|jt |_|rF|d s1|jd}|r|d 1|sd}t|t<|jvr|jd}d} d} t?dD];} || || dzcxkr|| dzkrnn|| | krd} 9d} <|j dvrk| r| stC|dd|_"nm|j dvrdx|_|_n|j dvrd|_d |_tGj$d!||_%n#|j d"kr| r| stC||_"d|_&|j'x|_(} |j|_)|jd#r^ tU|jdd} | d$vr,tWj,d%d&|j-z| | d'd(ddfg|_.dSn#t^$rYnwxYw|jd)vr|j-d|j-dz}tWj,d*d&|j-z| d+tWj,d*d&|j-z| |zd,tWj,d*d&|j-z| d|zzd-g|_.dStWj,d*d&|j-z| |jddfg|_.dS).N dznot an IM filerr)r<rT s r*zlatin-1replace*,zSyntax error in IM header: asciizNot an IM filezFile truncatedir<)rrrPA)rrr)rrGrGrrrr&) bitrrrH)rrraw)GrrA)RrrA)BrrA)0fpread SyntaxErrorseekinfoMODESIZEFRAMESrawmodereadlinelenendswithsplitmatchreerrorgroupdecodeSCALErBtuplemapr4OPENCOMMENTappendTAGS_size_mode startswithLUTrangemodelistlutr rNpaletteframetell_ImImageFile__offset_fpr1r_Tilesizetiler2)selfmsgnr,mekvrs greyscalelinearioffsbitsrys r3_openzImImageFile._open|sRw"""  S)) ) )"Cc"" "  Q  $$ $ & < ' QAEzz U a7llDG$$&&&A1vv||&!#&&&zz'"" crcFE"" crcF .KKNN8 . . .&!#&&A- . 'wwq!}}1HHY 22HHY 22--- #s++Ac&!''#,,7788A1vv{{aD$YY199&*1gOAt|<<DI~~ ! ++A....()s ! #$DIaL99FASAHHWi4P4PRR!#&&&y< '| #"Cc"" "Yt_ Yt_   W--  QA  W--  #"Cc"" " $)  gll3''GIF3ZZ " "1:S!1EEEEWQW5EEEEEEqzQ!" !IIy222 F!7#' #6#6yJ..477 T\\l22%) '- #/#3GW#E#EDLLe## --#G}}DH #w||~~- 7 < " "4 ( (  4<+,,{**!!6DI#5tdAq!R=P!DI F +     <- - -9Q<$)A,.Dv '94NNv '94$; UU6DI-ta$h DIIIv '94$,PQSUAVWWDIIIs+9EE:#E55E:(A T55 UUr1c&|jtSr0rVrYr{s r3n_frameszImImageFile.n_framessy  boolc.|jtdkS)Nrrrs r3 is_animatedzImImageFile.is_animated sy 1$$rrtc||sdSt|jtr |jj||_|jdkrd}ndt|jz}|jd|zdzdz|jdz}|j ||zz}|j|_ tj dd|jz||j ddfg|_dS) NrrrHrrNrLrA) _seek_check isinstancerwr exrtrpr\ryrvrRrrxrZrz)r{rtrryrs r3rUzImImageFile.seek$s&&  F dh . . (+  9  DDs49~~%D1$q(Q.$)A,>}ut|+( OE6DI#5tdlAr=R S S  rc|jSr0)rtrs r3ruzImImageFile.tell:s zrN)r-r8)r-r1)r-r)rtr1r-r8) __name__ __module__ __qualname__formatformat_description!_close_exclusive_fp_after_loadingrpropertyrrrUrurr3r6r6ws F-(-%^^^^@!!!X!%%%X%    ,rr6)z0 1r) Greyscaler)rr)zL 32SzI;32S)zL 16I;16)zL 16LI;16L)zL 16BI;16B)zL 32FzF;32F)RGBXr)YCCr)rrrrrGrrrrrrrrrrim Image.ImagerR IO[bytes]filename str | bytesr8c  t|j\}}n-#t$r }d|jd}t||d}~wwxYw|jdd}|d|dd|rt|tr| d}tj tj |\}} d|dd t!| z | g}|d |d d|d |jd d|jdd d|d|d d|jdvr|d|dd|z zdz|jdvrw|jdd} t!| dz} d} t+dD]#} | | | | z| | dzzz } | dd| z zz } $|| t-j||t-jdd|jzd |d dfgdS)Nz Cannot save z images as IMframesrz Image type: z image rE\zName: z zImage size (x*y): rrCzFile size (no of images): )rrGsLut: 1 r>ir?rrrMrrFrNrLrA)SAVErpKeyErrorr2 encoderinfogetwriteencoderbytesrcospathsplitextbasenamejoinr\ryrur getpaletteror_saverx)rrRr image_typerZrr|rnameext im_palettecolorsrsrs r3rrWs%"27m GG %%%3RW333oo1$%^  ! , ,FHH 2J 2 2 2 9 9' B BCCC 6 h & & 0w//HG$$RW%5%5h%?%?@@ cww_rCHH}_-s344 $$$$$++G44555HH ?"'!* ? ?rwqz ? ? ? F Fw O OPPPHH 6& 6 6 6 = =g F FGGG w+ HHWbggii (7 2333 w+U%%eW55 ZA%q 0 0A z&1*vQ/?"?@ @G w#,/ /GG  O B(8!gq"=MNNOs A=Az.im)r,rr-r.)rrrRrrrr-r8)% __future__rrr`typingrrrrrr _utilr rhDATE EQUIPMENTrYrnNAMErdrXrWrjrgrrojcompiler^r4r6rr register_openr register_saveregister_extensionrrr3rs6#""""" ,,,,,,,,,,   & #   Q! q A! 1!! z  z  !    .MM "!""#&'()*%#$%18 /++Aa?Daa?Da 00A$HHh1hh/Da$HHh1hh/Da ++Aa?Daa?Da q"++Aa?Da  9::DDDDD)%DDD\               !($$$$XK& 444K&...+U33333r