Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/ImImagePlugin.cpython-35.pyc



�ʴWE(�)@s)ddlZddlmZmZmZddlmZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
Zede	de
dedede
dedededi	Zdd`ddaddbddcdddddeddfddgddhddid djd!dkd$dld'dmd)dnd+dod.dpd1dqd4drd7dsiZxPd:d;d<d=d>d?gD]6Zd%d@efedAe<d%d@efedBe<qGWxOd<dCdDgD]>ZdEedEefedAe<dEedEefedBe<q�WxAdFgD]6Zd"dEefedAe<d"dEefedBe<q�Wx/edGdH�D]Zd%d@efedBe<q'WejdI�ZdJdK�ZGdLdM�dMej�Zddtddud,dvddwdPdxd"dydTdzdVd{dXd|d%d}dd~d/dd2d�d5d�d8d�iZdd]d^�Zejeje�ejeje�ejejd_�dS)��N)�Image�	ImageFile�ImagePalette)�i8z0.7�CommentZDatezDigitalization equipmentzFile size (no of images)ZLut�NamezScale (x,y)zImage size (x*y)z
Image typez	0 1 image�1z	L 1 imagezGreyscale image�LzGrayscale imagez	RGB image�RGB�RGB;Lz	RLB image�RLBz	RYB imagezB1 imagezB2 image�P�P;2zB4 image�P;4z
X 24 imagezL 32 S image�I�I;32zL 32 F image�F�F;32z
RGB3 image�RGB;Tz
RYB3 image�RYB;TzLA image�LA�LA;Lz
RGBA image�RGBA�RGBA;Lz
RGBX image�RGBX�RGBX;Lz
CMYK image�CMYK�CMYK;Lz	YCC image�YCbCr�YCbCr;L�8Z8SZ16Z16SZ32Z32FzF;%sz
L %s imagez
L*%s imageZ16LZ16BzI;%sZ32S��!s"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$cCs1yt|�SWntk
r,t|�SYnXdS)N)�int�
ValueError�float)�s�r'�D/opt/alt/python35/lib64/python3.5/site-packages/PIL/ImImagePlugin.py�numberbs
r)c@sdeZdZdZdZdd�Zedd��Zedd��Zd	d
�Z	dd�Z
d
S)�ImImageFileZIMzIFUNC Image Memoryc
Cs#d|jjd�kr$td��|jjd�d}d|jt<d+|jt<d|jt<d|_xg|jjd�}|dkr�qm|s�|d	ks�|d
kr�P||jj	�}t
|�dkr�td��|d,d�dkr|dd-�}n&|d.d�dkr.|dd/�}ytj|�}Wn4t
jk
rw}ztd��WYdd}~XnX|r�|jdd�\}}|jd
d�}|jd
d�}|tttgkr|jdd�}ttt|jd���}t
|�dkrI|d}n+|tkrI|tkrIt|\}|_|tkr�||jkr{|j|j|�q�|g|j|<n
||j|<|tkr�|d7}qmtd|jdd���qmW|s�td��|jt|_|jt|_x2|r:|dd�d
kr:|jjd�}q	W|sMtd��t|jkr�|jjd�}d}d}xitd�D][}	||	||	dko�||	dknr�t||	�|	kr�d}q�d}q�W|jdks|jdkr�|r3|s�dd�|dd�D�|_q�|jdkrUd|_|_n|jdkrtd|_|_t j!d|�|_"n3|jdkr�|s�|r�dd�|D�|_d|_#|jj$�|_%}
|j|_&|jdd�dkrsy[t'|jdd��}|d0kr]d#d1|j|
|d d$dd2ffg|_(dSWnt)k
rrYnX|jd3kr�|jd|jd}d'd4|j|
d6fd'd7|j|
|d9fd'd:|j|
d|d<fg|_(n+d'd=|j|
|jdd>ffg|_(dS)?Ns
�dznot an IM filerr	��s
ssr!s
zlatin-1�replace�*�,zSyntax error in IM header: �asciizNot an IM filezFile truncatedi�rcSsg|]}t|��qSr')r)�.0�cr'r'r(�
<listcomp>�s	z%ImImageFile._open.<locals>.<listcomp>r
�PAzRGB;Lr
cSsg|]}t|��qSr')r)r3r4r'r'r(r5�s	zF;��� �bit��RGB;T�RYB;T�raw�G�R�B)r,r,���rB���rC)r7r8r9)rrrC)r<r=)rrrC)r?rrC)rrrC)r@rrC)rrrC)rArrC)rrrC)*�fp�read�SyntaxError�seek�info�MODE�SIZE�FRAMES�rawmode�readline�len�split�match�re�error�group�decode�SCALEr.�tuple�mapr)�OPEN�COMMENT�append�TAGS�size�mode�LUT�rangerZlutrr>�palette�frame�tell�_ImImageFile__offset�_ImImageFile__fpr#�tiler$)
�self�nr&�m�v�kr`Z	greyscaleZlinear�i�offs�bitsr\r'r'r(�_openqs�


	


0	
#	
*zImImageFile._opencCs|jtS)N)rHrK)rfr'r'r(�n_framesszImImageFile.n_framescCs|jtdkS)Nr-)rHrK)rfr'r'r(�is_animatedszImImageFile.is_animatedcCs�|dks||jtkr+td��|j|kr>dS||_|jdkr_d}ndt|j�}|jd|dd|jd}|j||}|j|_	dd|j||j
dd	ffg|_dS)
Nrzseek outside sequencerr-r7�r>)rrrC)rHrK�EOFErrorrar]rNr\rcrdrDrLre)rfrarmr\rlr'r'r(rGs		$zImImageFile.seekcCs|jS)N)ra)rfr'r'r(rb%szImImageFile.tellN)�__name__�
__module__�__qualname__�formatZformat_descriptionrn�propertyrorprGrbr'r'r'r(r*ls�r*�0 1�	Greyscaler6�PA;L�L 32S�I;32S�I;16�L 16�I;16L�L 16L�I;16B�L 16B�L 32F�F;32F�YCCcCs�yt|j\}}Wn%tk
r>td|j��YnXy|jd}Wntk
rjd}YnX|ru|S|jd|jd��|r�|jd|jd��|jd|jjd��|jd|jd��|jd	kr|jd
�|jdd|j�d
�|jd	krL|j|j	j
dd��tj||dd|jd|ddffg�dS)NzCannot save %s images as IM�framesr-zImage type: %s image
r1z
Name: %s
zImage size (x*y): %d*%d
zFile size (no of images): %d
r
sLut: 1
si�sr
zRGB;Lr>r)rrrC)
�SAVEr]�KeyErrorr$Zencoderinfo�write�encoder\rb�imZ
getpaletter�_save)r�rD�filename�checkZ
image_typerLr�r'r'r(r�As*


r�z.im)rr)rr)r	r	)r	r	)r
r)r
r)r
r)rr)r
r)r
r)r
r
)rr)rr)r
r)r
r)rr)rr)rr)rr)rr)rxr)ryr	)rr)ryr
)rrz)r{r|)r~r})r�r)r�r�)r�r�)r
r)rr)rr)rr)r�r)rQZPILrrrZPIL._binaryr�__version__rYZDATEZ	EQUIPMENTrKr^�NAMErUrJrIr[rXrkr_�compilerOr)r*r�r�Z
register_openrvZ
register_saveZregister_extensionr'r'r'r(�<module>s�$ 
�