3

h                 @   s   d dl Z ddlmZmZmZ ddlmZ ddlmZ ddlm	Z
 dddd
d dd!dd"dd#dd$diZG dd dejZd%d&d'd(d)d*dZdd Zejeje ejeje ejejddddg ejejd dS )+    N   )Image	ImageFileImagePalette)i16le)o8)o16le   P   1L   LA   zBGR;5   BGR    BGRAc               @   s   e Zd ZdZdZdd ZdS )TgaImageFileZTGAZTargac             C   sr  | j jd}|d }|d }|d }|d }|d }t|dt|df| _|d&ksv| jd dksv| jd dksv|d'kr~td|d(krd| _|dkrd| _q|dkrd| _n6|d)krd| _n&|d*krd| _|dkrd| _ntd|d@ }|dk rd}n|sd+}ntd|| jd< |d	@ r,d| jd< |rD| j j|| jd< |rt|dt|d|d   }}	}
|
dkrtj	d d,| | j jd|	  | _
nZ|
d
krtj	d"d-| | j jd|	  | _
n,|
dkrtj	d#d.| | j jd$|	  | _
ydt|d@ |f }|d	@ r2dd/| j | j j |||ffg| _n"d%d0| j | j j |d|ffg| _W n tk
rl   Y nX d S )1N   r   r   r   r            r	   r   r   znot a TGA filer      r   r   r   	   r
   
   RGBRGBAzunknown TGA mode0   zunknown TGA orientationorientationtga_rlecompression
id_section      zBGR;15    r   r      raw)r   r   )r   r	   r   r   r   )r   r   )r   r   )r   r   s     s      s       )r   r   )r   r   )fpreadi16_sizesizeSyntaxErrormodeinfor   r(   ZpaletteMODEStellZtileKeyError)selfsid_lencolormaptype	imagetypedepthflagsr    startr.   Zmapdepthrawmode r>   R/var/www/html/enquirykeeper_venv/lib/python3.6/site-packages/PIL/TgaImagePlugin.py_open5   sx    



 
 
 

zTgaImageFile._openN)__name__
__module____qualname__formatformat_descriptionr@   r>   r>   r>   r?   r   0   s   r   )r   r   r   r
   r   r   c             C   s"  yt | j \}}}}W n6 tk
rL } ztd| j d|W Y d d }~X nX d| jkrd| jd }n| jjd| jjd}	|	dk}|r|d7 }| jjd| jjdd}
t|
}|d	krd	}|
d d	 }
tj	d
 |rd\}}}n
d\}}}| jdk rd}nd}| jjd| jjdd}|dkr*|dB }|j
t|t| t| t| t| t| td td t| jd  t| jd  t| t|  |
r|j
|
 |r|j
| jjdd |rtj| |dd| j d||ffg n$tj| |dd| j d|d|ffg |j
d  d S )!Nzcannot write mode z as TGArler"   r!   r	   r#       z-id_section has been trimmed to 255 charactersr      r   r   r   r    r   r   r   r   r(   r&   s   TRUEVISION-XFILE.)r   rI   r   )r   r   r   )r   r   r)   )r   r   )r   r   s           s           TRUEVISION-XFILE.s           TRUEVISION-XFILE. )SAVEr0   r4   OSErrorZencoderinfogetr1   lenwarningswarnwriter   o16r.   imZ
getpaletter   _save)rR   r*   filenamer=   bitsr8   r9   erF   r"   r#   r7   ZcolormapfirstZcolormaplengthZcolormapentryr;   r    r>   r>   r?   rS      sJ    &



n
  rS   z.tgaz.icbz.vdaz.vstzimage/x-tga)r   r	   )r   r   )r   r	   )r   r   )r   r   )r   r   )r   r   )r   r   r   r   )r   r	   r   r   )r   r   r   r   )r
   r	   r   r   )r   r   r   r   )r   r   r   r   )rN   rG   r   r   r   _binaryr   r,   r   r   rQ   r2   r   rJ   rS   Zregister_openrD   Zregister_saveZregister_extensionsZregister_mimer>   r>   r>   r?   <module>   s.   	oK