/ lib / PIL / EpsImagePlugin.pyc
EpsImagePlugin.pyc
  1  o

  2  X��c�1�@s"ddlZddlZddlZddlZddlZddlZddlmZmZddl	m
  3  Ze�d�Z
e�d�ZdZej�d�rNddlZdD]
Ze�e�durKeZnq>d	Zd
  4  d�Zddd
�ZGdd�d�Zdd�ZGdd�dej�Zddd�Ze�ejee�e�eje�e�ejddg�e�ejd�dS)�N�)�Image�	ImageFile)�i32lez^%%([^:]*):[ \t]*(.*)[ \t]*$z^%[%!\w]([^:]*)[ \t]*$�win)Zgswin32cZgswin64c�gsFcCsHtrdStj�d�s"z
tjddgtjd�WdSty!YdSwdS)NTrrz	--version)�stdoutF)�gs_windows_binary�sys�platform�
  5  startswith�
  6  subprocess�
  7  check_call�DEVNULL�OSError�rr��C:\Users\Jacks.GUTTSPC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PIL\EpsImagePlugin.py�has_ghostscript3s�rcCs�|d\}}}}|\}}	t|�pd}|d||d|f}d|d|	d|	dd|d|	d|	df}
  8  t��\}}t�|�d}
t|d�rWtj�|j�rW|j}nRt��\}}
t�|�|
}t	|
d��8}|�
  9  dtj�|�
�}|�
 10  d�|}|dkr�|�t|d	��}|s�n|t|�8}|�|�|dks�Wd�n1s�wY|r�d
 11  nd}dd
d|d|
 12  dddd|��d|��d|	d�d|	d�d�d|ddg}tdur�ts�d}t|��t|d<z?d}tj�d�r�t��}|jtjO_tj||d�t�	|�}|��Wzt�|�|
�rt�|
�Wn&t�y%Ynwzt�|�|
�r6t�|
�WwWwt�yAYww|j� �}|��|S)z!Render an image using GhostscriptrrgR@��N�name�wbi�ZpngalphaZppmrawrz-qz-g%dx%dz-r%fx%fz-dBATCHz	-dNOPAUSEz-dSAFERz	-sDEVICE=z
-sOutputFile=z-c� z
 13   translatez-f�showpagez%Unable to locate Ghostscript on pathsr)�startupinfo)!�int�tempfile�mkstemp�os�close�hasattr�path�existsr�open�seek�io�SEEK_END�tell�read�min�len�writer	rr
 14  rrr
�STARTUPINFO�dwFlags�STARTF_USESHOWWINDOWrr�load�unlink�im�copy)�tile�size�fp�scale�transparency�decoder�offset�data�length�bbox�resZout_fd�outfileZinfile_temp�infileZin_fd�f�fsizeZ
 15  lengthfile�s�device�command�msgrZout_imr1rrr�Ghostscript@s��
 16  
 17  
 18  
 19  ����
 20  
 21  
 22  
 23  ���
 24  ��
 25  rFc@s.eZdZdZdd�Zejfdd�Zdd�ZdS)	�PSFilezP
 26      Wrapper for bytesio object that treats either CR or LF as end of line.
 27      cCs||_d|_dS�N)r5�char)�selfr5rrr�__init__�s
 28  zPSFile.__init__cCsd|_|j�||�dSrH)rIr5r$)rJr9�whencerrrr$�szPSFile.seekcCs�|jpdg}d|_|j�d�}|dvr*t|�r*|�|�|j�d�}|dvr*t|�s|j�d�|_|jdvr9d|_d�|��d�S)N�rs
 29  zlatin-1)rIr5r(r*�append�join�decode)rJrB�crrr�readline�s
 30  �
 31  zPSFile.readlineN)	�__name__�
 32  __module__�__qualname__�__doc__rKr%�SEEK_SETr$rRrrrrrG�s
 33  rGcCs(|dd�dkpt|�dkot|�dkS)N��%!PS��P�
)r*�i32)�prefixrrr�_accept�s(r]c@sHeZdZdZdZdZddddd�Zd	d
 34  �Zdd�Zddd�Z	dd�Z
 35  dS)�EpsImageFilez.EPS File Parser for the Python Imaging Library�EPSzEncapsulated Postscript�L�LAB�RGB�CMYK)rrrrXc
 36  Cs�|�|j�\}}t|j�}|�|�d}d|_d|_|��}|�d�}|r�|r�t|�dkr3d}t	|��zt
 37  �|�}Wntj
yN}	zd}t	|�|	�d}	~	ww|r�|�dd�\}
 38  }||j|
 39  <|
 40  dkr�z)d	d
 41  �|�
 42  �D�}|d|d|d|df|_d
d|j|||ffg|_WnDty�Yn<wn:t�|�}|r�|�d�}
 43  |
 44  dkr�n?|
 45  dd�dkr�|
 46  dd�|j|
 47  dd�<nd|j|
 48  <n
|ddkr�nd}t|��|��}|�d�}|r�|dd�dkr�n|s%|dd�dk�r\t|�dkr�d}t	|��|dd�dk�rI|dd��
 49  dd�dd�\}}
}}t|�dk�r!d|_nt|�dk�r=z
 50  |jt|�|_Wnt�y<Yn wnt|�t|
�f|_dS|���d�}|�sTn|dd�dks�|�sed}t|��dS)Nrb)rrz
 51  ���not an EPS filerrZBoundingBoxcSsg|]}tt|���qSr)r�float)�.0�irrr�
 52  <listcomp>�sz&EpsImageFile._open.<locals>.<listcomp>rr�eps�rrZEndComments�zPS-Adobe�	��%zbad EPS header�z%ImageData:�rX�1z!cannot determine EPS bounding box)�_find_offsetr5rGr$�mode�_sizerR�stripr*�SyntaxError�split�match�re�error�group�infor4r3�	Exception�fieldrr�mode_map�
 53  ValueError)rJr;r9r5�boxZs_rawrBrE�m�e�k�v�x�y�bi�morrr�_open�s�
 54  
 55  
 56  
 57  ��
 58  "
 59  ���
 60  
 61  
 62  �8$���zEpsImageFile._opencCsr|�d�}|dd�dkr|�dtj�|��}d}||fSt|d�dkr3t|d�}t|d�}||fSd}t|��)N�rXrYrrZrlre)r(r$r%r&r'r[rw)rJr5rBr;r9rErrrrs=s
 63  
�
 64  
 65  �zEpsImageFile._find_offsetrFcCsD|jrt|j|j|j||�|_|jj|_|jj|_g|_tj�|�SrH)	r3rFr4r5r1rtrurr/)rJr6r7rrrr/Ts
 66  
 67  zEpsImageFile.loadcOsdSrHr)rJ�args�kwargsrrr�	load_seek]szEpsImageFile.load_seekN�rF)rSrTrUrV�format�format_descriptionr�r�rsr/r�rrrrr^�sl
 68  	r^cCs�|��|jdkrd}n|jdkrd}n|jdkrd}nd}t|��|rT|�d�|�d	�|�d
 69  |j�|�d�|�d�|�d
�|�d|j�|�d|�|�d�|�d�|�d|jd|d�|�d|j�|�d|j�|�d|jd|jd|jdf�|�d�|�|dd�t|d�r�|��t�||dd|jddfg�|�d�|�d �t|d�r�|��dSdS)!z*EPS Writer for the Python Imaging Library.r`)rlrsimagerb)rlrsfalse 3 colorimagerc)rlrXsfalse 4 colorimagezimage mode is not supporteds%!PS-Adobe-3.0 EPSF-3.0
 70  s%%Creator: PIL 0.1 EpsEncode
 71  s%%%%BoundingBox: 0 0 %d %d
 72  s%%Pages: 1
 73  s%%EndComments
 74  s%%Page: 1 1
 75  s%%ImageData: %d %d s%d %d 0 1 1 "%s"
 76  sgsave
 77  s10 dict begin
 78  s/buf %d string def
 79  rrs%d %d scale
 80  s%d %d 8
 81  s[%d 0 0 -%d 0 %d]
 82  s+{ currentfile buf readhexstring pop } bind
 83  r�
 84  �flushrjrkNs
 85  %%%%EndBinary
 86  s
grestore end
 87  )	r/rtr�r+r4r r�r�_save)r1r5�filenamerj�operatorrErrrr�gsD
 88  
 89  
 90  
 91  
 92  
 93  
 94  
 95  
 96  
 97  &
 98  
 99  
100  
101  
102  �r�z.psz.epszapplication/postscriptr�)r) r%rrzr
r
103  rrnrr�_binaryrr[�compilerxrr	rr�shutil�binary�whichrrFrGr]r^r��
register_openr��
register_save�register_extensions�
register_mimerrrr�<module>s<
104  
105  �
106  
b	
107  9