Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ia?%ã @s´ddlZddlZddlZddlmZmZdd„Zddd&d'd(d)gZd d „Zd d„Z Gdd„dejƒZ d*dd„Z dd„Z dd„Z dd„Zeje je ƒeje jeƒedk�r°eejƒdkrÈedƒejƒejdZe eƒsêedƒejƒejeƒ�¶Zedeeƒƒedeejƒƒedeejƒƒed eejƒƒed!d"d#�eejƒƒeejƒdk�r¦ejdZejej ƒZed$ej!j"eƒ›d%e›d"�ƒej#ee jƒWdQRXdS)+éN)ÚImageÚ ImageFilec Cs>y t|ƒ}||dkrdSdSWnttfk r8dSXdS)Nré)ÚintÚ ValueErrorÚ OverflowError)ÚfÚi©r ú6/tmp/tmp5hum_rxs/lib64/python/PIL/SpiderImagePlugin.pyÚisInt*s r réé é éécCsvd |}xd D]}t||ƒsd SqWt|dƒ}|tkr>d St|dƒ}t|dƒ}t|dƒ}|||krrd S|S) Nécrééré rér)r)rrrrrrr)r rÚiforms)ÚtÚhr ÚiformÚlabrecÚlabbytÚlenbytr r r ÚisSpiderHeader>s       rc CsTt|dƒ�}|jdƒ}WdQRXtjd|ƒ}t|ƒ}|dkrPtjd|ƒ}t|ƒ}|S)NÚrbé\z>23frz<23f)ÚopenÚreadÚstructÚunpackr)ÚfilenameÚfprrÚhdrlenr r r Ú isSpiderImageRs   r(c@sbeZdZdZdZdZdd„Zedd„ƒZedd „ƒZ d d „Z d d „Z ddd„Z dd„Z dd„ZdS)ÚSpiderImageFileZSPIDERzSpider 2D imageFc Csàd}|jj|ƒ}yPd|_tjd|ƒ}t|ƒ}|dkrNd|_tjd|ƒ}t|ƒ}|dkr^tdƒ‚Wn.tjk rŽ}ztdƒ|‚WYdd}~XnXd|}t|d ƒ}|dkr´td ƒ‚t|d ƒt|d ƒf|_ t|d ƒ|_ t|dƒ|_ |j dk�r|j dk�r|}d|_ nŒ|j dk�rh|j dk�rht|d ƒt|d ƒd|_ ||_t|dƒ|_ |d }d|_ n2|j dk�r’|j dk�r’||j}d |_ ntdƒ‚|j�rªd|_nd|_d|_dd|j||jddffg|_|j|_dS)Néérz>27frz<27fznot a valid Spider filerrznot a Spider 2D imagerrééz inconsistent stack header valueszF;32BFzF;32FÚFÚrawél)r)rr)r&r"Z bigendianr#r$rÚ SyntaxErrorÚerrorrÚ_sizeÚistackÚ imgnumberÚ_nimagesÚimgbytesr'Ú stkoffsetÚrawmodeÚmodeÚsizeZtileÚ_SpiderImageFile__fp) ÚselfÚnrrr'ÚerrÚoffsetr r r Ú_opencsP      zSpiderImageFile._opencCs|jS)N)r6)r=r r r Ún_framesšszSpiderImageFile.n_framescCs |jdkS)Nr)r6)r=r r r Ú is_animatedžszSpiderImageFile.is_animatedcCs|jdkrdS|jdSdS)Nrr)r5)r=r r r Útell£s zSpiderImageFile.tellcCsZ|jdkrtdƒ‚|j|ƒs dS|j||j|j|_|j|_|jj|jƒ|j ƒdS)Nrz#attempt to seek in a non-stack file) r4ÚEOFErrorZ _seek_checkr'r7r8r<r&ÚseekrA)r=Úframer r r rF©s  zSpiderImageFile.seekéÿcCsH|jƒ\}}d}||kr$|||}| |}|j||fdd„ƒjdƒS)NrcSs |||S)Nr )r ÚmÚbr r r Úºsz.SpiderImageFile.convert2byte..ÚL)Ú getextremaZpointÚconvert)r=ÚdepthZminimumZmaximumrIrJr r r Ú convert2byte´s    zSpiderImageFile.convert2bytecCsddlm}|j|jƒdd�S)Nr)ÚImageTké)Zpalette)ÚPILrQZ PhotoImagerP)r=rQr r r Ú tkPhotoImage½s zSpiderImageFile.tkPhotoImagecCsBz4y|j|jkr|jjƒWntk r0YnXWdd|_XdS)N)r<r&ÚcloseÚAttributeError)r=r r r Ú _close__fpÂs   zSpiderImageFile._close__fpN)rH)Ú__name__Ú __module__Ú __qualname__ÚformatZformat_descriptionZ!_close_exclusive_fp_after_loadingrAÚpropertyrBrCrDrFrPrTrWr r r r r)]s7   r)cCs¬|dkst|ƒdkrdSg}xŠ|D]‚}tjj|ƒsBtd|›�ƒq"y"tj|ƒ�}|jƒ}WdQRXWn*tk rŽt |ƒsˆt|dƒw"YnX||j d<|j |ƒq"W|S)zJcreate a list of :py:class:`~PIL.Image.Image` objects for use in a montageNrzunable to find z is not a Spider image filer%) ÚlenÚosÚpathÚexistsÚprintrr!rPÚ Exceptionr(ÚinfoÚappend)ÚfilelistZimglistZimgÚimr r r ÚloadImageSeriesÐs"     rgc Cs|j\}}|d}td|ƒ}d|dkr2|d7}||}g}t|dƒ}xt|ƒD]}|jdƒqTWt|ƒdkrvgSd|d<t|ƒ|d<d|d <t|ƒ|d <t|ƒ|d <t|ƒ|d <t|ƒ|d<|dd…}|jdƒg} x|D]} | jtjd | ƒƒqâW| S)Nr+irrgrgð?rrrrrr)r;rÚrangerdr]Úfloatr#Úpack) rfZnsamZnrowrrrÚhdrZnvaluesr ZhdrstrÚvr r r ÚmakeSpiderHeaderês2             rmc Csj|jddkr|jdƒ}t|ƒ}t|ƒdkr4tdƒ‚|j|ƒd}tj||dd|jd|ddffgƒdS) Nrr.rRzError creating Spider headerzF;32NFr/r)rr) r:rNrmr]ÚOSErrorÚ writelinesrÚ_saver;)rfr&r%rkr9r r r rp s   rpcCs.tjj|ƒd}tjtj|ƒt|||ƒdS)Nr)r^r_ÚsplitextrZregister_extensionr)r[rp)rfr&r%Úextr r r Ú _save_spidersrsÚ__main__rz7Syntax: python3 SpiderImagePlugin.py [infile] [outfile]z$input image must be in Spider formatzimage: zformat: zsize: zmode: z max, min: ú )Úendzsaving a flipped version of z as iõÿÿÿiôÿÿÿiëÿÿÿiêÿÿÿ)N)$r^r#ÚsysrSrrr rrr(r)rgrmrprsZ register_openr[Z register_saverXr]ÚargvraÚexitr%r!rfÚstrr;r:rMÚoutfileZ transposeZFLIP_LEFT_RIGHTr_ÚbasenameÚsaver r r r Ú#sF   s "