| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/PIL/__pycache__/ |
Upload File : |
o
Z#�a� � @ s� d dl Z d dlZddlmZmZ ddlmZ ddlmZ dd� Z ddd d d
ddd
d�Z
G dd� dej�Zdd� ZG dd� dej
�Ze�de� e�ejee � e�eje� e�ejd� e�ejg d�� dS )� N� )�Image� ImageFile)�i16be)�o8c C s t | �dkot| �dkS )N� �� )�len�i16)�prefix� r �4/usr/lib/python3/dist-packages/PIL/SgiImagePlugin.py�_accept! s r �L�L;16B�RGBzRGB;16B�RGBAzRGBA;16B))r r r )r r r )r r r )r r r )r � r )r r r )r r � )r r r c @ s e Zd ZdZdZdd� ZdS )�SgiImageFile�SGIzSGI Image File Formatc C sp d}| j �|�}t|�std��|d }|d }t|d�}t|d�}t|d�}t|d�}|||f} d }
zt| }
W n tyB Y nw |
d krKtd
��||f| _|
�d�d | _ | j d
kr`d| _
d}|dkr�|| | }|dkr�dd| j || j d|ffg| _d S g | _|}
| j D ]}| j�
dd| j |
|d|ff� |
|7 }
q�d S |dkr�dd| j ||
||ffg| _d S d S )N� zNot an SGI image filer r r � � �
� �Unsupported SGI image mode�;r r z image/rgb����SGI16)r r �rawr �sgi_rle)�fp�readr �
ValueErrorr
�MODES�KeyError�_size�split�mode�custom_mimetype�size�tile�append)�self�headlen�s�compression�bpc� dimension�xsize�ysize�zsize�layout�rawmode�orientation�pagesize�offset�layerr r r
�_open8 sR
�
�
�
�
��zSgiImageFile._openN)�__name__�
__module__�__qualname__�format�format_descriptionr= r r r r
r 3 s r c C sJ | j dkr| j dkr| j dkrtd��| j}|�dd�}|dvr$td��d }d
}d}d}| j\} }
| j dkr=|
dkr=d}n| j dkrDd
}t| j �}|dksQ|d
krSd}t| �� �|kritd|� dt| �� �� ���d}d}
tj� tj�
|��d }|�dd�}d}|�t
�d|�� |�t|�� |�t|�� |�t
�d|�� |�t
�d| �� |�t
�d|
�� |�t
�d|�� |�t
�d|�� |�t
�d|
�� |�t
�dd�� |�t
�d|�� |�t
�dd�� |�t
�d|�� |�t
�dd�� d}|d
k�rd}| �� D ]}|�|�d|d|�� �qt|d��r#|�� d S d S )Nr r r r r2 r )r r z%Unsupported number of bytes per pixelr r r r r z(incorrect number of bands in SGI write: z vs � �ascii�ignorez>hz>Hz>l�4s� �79sr0 �404sr r �flush)r) r$ �encoderinfo�getr+ r �getbands�os�path�splitext�basename�encode�write�struct�packr r( �tobytes�hasattrrJ )�imr"