)Ej ddlmZddlZddlZddlmZddlmZmZddl m Z ddl m Z d#d Z d d dddddddZGddejZd$dZGddejZejd eejejee ejejeejejd!ejejgd"dS)%) annotationsN)IO)Image ImageFile)i16be)o8prefixbytesreturnboolcNt|dkot|dkS)N)leni16)r s DC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/SgiImagePlugin.py_acceptr"s# v;;!  2F s 22LL;16BRGBzRGB;16BRGBAzRGBA;16B))rrr)rrr)rrr)rrr)rr)rrr)rr)rrrceZdZdZdZddZdS) SgiImageFileSGIzSGI Image File Formatr Nonec |jJd}|j|}t|sd}t||d}|d}t |d}t |d}t |d}t |d} t ||| f} n#t $rd }t|wxYw||f|_| d d |_ |j d krd |_ d} |d kr||z|z} |dkr/tj dd|jz||j d | fg|_dSg|_|} |j D]A}|jtj dd|jz| |d | f| | z } BdS|dkr*tj dd|jz|| | |fg|_dSdS)NzNot an SGI image filerrr Unsupported SGI image mode;rrz image/rgbSGI16)rrrawrsgi_rle)fpreadr ValueErrorrMODESKeyError_sizesplit_modemodecustom_mimetyper_Tilesizetileappend)selfheadlensmsg compressionbpc dimensionxsizeysizezsizerawmode orientationpagesizeoffsetlayers r_openzSgiImageFile._open8s:w""" GLL ! !qzz ")CS// !d d1II Aq Aq Ar  "S)U34GG " " ".CS// ! "E\ ]]3''* 9  #.D   !  u}s*HaxxO*A{3    !Y''EI$$!!6DI#5vq+?V h&FF ''A  v 17WkSVrrrr%r>r)rrz%Unsupported number of bytes per pixelr'rrrrrasciiignorez>hz>Hz>l4sr79sr;404srr)flush)r3r- encoderinfogetr6rospathsplitextbasename isinstancestrencodewritestructpackr r1tobyteshasattrr[)rOr+rRr<infor>rD magic_numberrlexyzr?pinminpinmaximg_namecolormaprCchannels r_saverus! w****oo >D ((5!  C &5ooKL C 7DAq BG A w#~~aAAQ  F Fw 0 0 : :;;A>H(C  6??7H55HHHV[| , ,---HHRWWHHRWWHHV[y ) )***HHV[q ! !"""HHV[q ! !"""HHV[q ! !"""HHV[v & &'''HHV[v & &'''HHV[s # #$$$HHV[ ) )***HHV[c " "###HHV[x ( ()))HHV[ % %&&&G axx88::BB K@@AAAAr7  rceZdZdZddZdS) SGI16DecoderTbufferImage.DecoderInputr tuple[int, int]c|jJ|jJ|j\}}}|jj|jjz}t |j}|jdt|D]}tj d|jj|jjf}| |j d|zdd|||j|j|dS)Nr!rrr)r)r'r)fdrOargsstater@rArr3seekrangernew frombytesr,putband) r9rxrCstriderDrErBbandrts rdecodezSGI16Decoder.decodesw"""w"""'+y$:#dj&66DI  S%LL . .Didj&6 8H%IJJG    Q\**E7FK    GOOGJ - - - -urN)rxryr rz)rIrJrK _pulls_fdrrNrrrwrws-Irrwr(z image/sgi)z.bwz.rgbz.rgbaz.sgi)r r r r )rOrPr+rQrRrSr r) __future__rr^rftypingrrr_binaryrrr rr.rru PyDecoderrwregister_decoder register_openrL register_save register_mimeregister_extensionsrNrrrs.#""""" !!!!!!3333   KKKKK9&KKK\AAAAH9&4w ---L'w???L'///L'555,-/O/O/OPPPPPr