)EjQzddlmZddlZddlZddlmZddlmZmZm Z ddl m Z ddl m Zddl mZdd l mZd d d d ddddZGddejZdddddddZd&d#Zejejeejejeejejgd$ejejd%dS)') annotationsN)IO)Image ImageFile ImagePalette)i16le)i32le)o8)o16leP1LLABGRA;15ZBGRBGRA))r)r)rr)r)r)r)r c&eZdZdZdZddZddZdS) TgaImageFileTGATargareturnNonec|jJ|jd}|d}|d}|d}|d}|d}t|dt|df|_|d vs&|jddks|jddks|d vrd }t ||d vr#d |_|dkrd|_nC|dkrd|_n5|dvr |rdnd |_n%|dvr|dkrdnd|_nd}t ||dz}|dv|_|dvrd}n|dvrd}nd}t |||jd<|dzr d|jd <|r"|j||jd!<|r2t|d"t|d#|d$} } } | dkrUtj d%td| z|jd| zz|_ d|j _ n| dkrItj d&td"| z|jd"| zz|_ n`| d'krItj d(td)| z|jd)| zz|_ nd*}t | t|d$z|f} |dzrAtjdd+|jz|j| ||fg|_dStjd,d+|jz|j| d|fg|_dS#t&$rYdSwxYw)-Nrrrr )rr)rrrrrznot a TGA file)r rrr)r r )r rRGBRGBAzunknown TGA mode0)rr*)rr*)rrzunknown TGA orientation orientationrtga_rle compression id_sectionrrrrrzunknown TGA map depthrrraw)fpreadi16_sizesize SyntaxError_mode_flip_horizontallyinforr4bytespalettemodeMODESr_TiletelltileKeyError) selfsid_len colormaptype imagetypedepthflagsmsgr,startr9mapdepthrawmodes DC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/TgaImagePlugin.py_openzTgaImageFile._open7sw""" GLL  1t aD ""BZZQ+   & &y|q  y|q  ..."Cc"" "   DJzz  "! & ,5#DJJ ' ! !"'2++6DJJ$Cc"" "dl "-"= , & &KK I % %KK+Cc"" "#. - q= 1'0DIm $  ;&*gll6&:&:DIl #  '$'1IIs1ayy!A$4E2~~+/a%i 0 047<<D3I3I I   %+ !!R+/5U++dgll1t8.D.DD   R+/E!e),,tw||AH/E/EE   .!#&&& Y]E23G1} O!*  +u5  O*  ![1      DD s(AM?M MMc|jdkr|jJ|jdtj|jd}|drit|}|rX|j|dz|jd}|dkr|j dd |j r0|j tj j|_dSdS) Nr)isTRUEVISION-XFILE.irr)r@r5seekosSEEK_ENDr6endswithi32imfillbandr< transposer TransposeFLIP_LEFT_RIGHT)rFfooterextension_offsetattributes_types rQload_endzTgaImageFile.load_ends 9  7&&& GLLbk * * *W\\"%%F788 1#&v;; #1GLL!1C!7888&*gll1ooO&'11((C000  " Ig''(GHHDGGG I IN)rr)__name__ __module__ __qualname__formatformat_descriptionrRrdrerQrr3sR F hhhhTIIIIIIrer)rrrr)rrrr)rrrr)r rrr)rrrr)rrrr)rrrr r(r)r\ Image.Imager5 IO[bytes]filename str | bytesrrc  t|j\}}}}n-#t$r }d|jd}t||d}~wwxYwd|jvr|jd} n9|jd|jd} | dk} | r*|jdkrd|jd}t||dz }|jd |jd d } t| } | d kr d } | dd } tj d |r0|j d d} t| dzd}}nd\}}|jdvrd}nd}|jd|jdd}|dkr|dz}| t| t|zt|ztdzt|zt|ztdztdzt|jdzt|jdzt|zt|z| r| | |r| | | r7t!j||t!jdd|jzd||fgn7t!j||t!jdd|jzd|d|fg| ddS)Nzcannot write mode z as TGArler.r-rz as TGA with run-length encodingrr/rVz-id_section has been trimmed to 255 charactersr(rrrr3)rr)rr,r+rrr4sTRUEVISION-XFILE.)SAVEr@rEOSError encoderinfogetr=lenwarningswarnr\ getpalettewriter o16r9r_saverB)r\r5rnrPbitsrIrJerMrqr.r/rHr?colormaplength colormapentryrLr,s rQr}r}s"15bg.|YY """327333cll!" nU#n(( M8R8RSS Y&  7c>>PrwPPPC#,, Q ##L"'++lB2O2OPPJ __F ||%  EFFF-%""5%00(+G (92 (,%  w.  .$$]BGKK r4R4RSSKQ HH 6 \    Y--  a&&  n     ]     a&&   a&&  bgaj//  bgaj//  T((  U))           _Y(8!g{=S T T U       _UFRW$4a'1k9R S S T   HH 9:::::s A?A)z.tgaz.icbz.vdaz.vstz image/x-tga)r\rlr5rmrnrorr) __future__rrXrxtypingrrrrrr_binaryr r7r r[r r r|rArrsr} register_openri register_saveregister_extensions register_mimerkrerQrs$#""""" ,,,,,,,,,,!!!!!!!!!!!!!!!!!!          ~I~I~I~I~I9&~I~I~IN       L;L;L;L;hL'666L'///,-/O/O/OPPPL'77777re