a
    ¨º”h+  ã                   @  sr   d dl mZ ddlmZmZmZ G dd„ dƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZ	G dd„ deƒZ
dS )é    )Úannotationsé   )ÚImageÚImageFilterÚ	ImageStatc                   @  s.   e Zd ZU ded< ded< dddœdd„ZdS )	Ú_EnhanceúImage.ImageÚimageÚ
degenerateÚfloat)ÚfactorÚreturnc                 C  s   t  | j| j|¡S )aµ  
        Returns an enhanced image.

        :param factor: A floating point value controlling the enhancement.
                       Factor 1.0 always returns a copy of the original image,
                       lower factors mean less color (brightness, contrast,
                       etc), and higher values more. There are no restrictions
                       on this value.
        :rtype: :py:class:`~PIL.Image.Image`
        )r   Zblendr
   r	   )Úselfr   © r   ú>/var/www/auris/lib/python3.9/site-packages/PIL/ImageEnhance.pyÚenhance   s    z_Enhance.enhanceN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r   r   r   r   r      s   
r   c                   @  s    e Zd ZdZdddœdd„ZdS )ÚColora  Adjust image color balance.

    This class can be used to adjust the colour balance of an image, in
    a manner similar to the controls on a colour TV set. An enhancement
    factor of 0.0 gives a black and white image. A factor of 1.0 gives
    the original image.
    r   ÚNone©r	   r   c                 C  sH   || _ d| _d| ¡ v rd| _| j|jkr>| | j¡ |j¡}|| _d S )NÚLÚAZLA)r	   Zintermediate_modeÚgetbandsÚmodeÚconvertr
   ©r   r	   r   r   r   Ú__init__4   s    zColor.__init__N©r   r   r   Ú__doc__r   r   r   r   r   r   +   s   r   c                   @  s    e Zd ZdZdddœdd„ZdS )ÚContrastzòAdjust image contrast.

    This class can be used to control the contrast of an image, similar
    to the contrast control on a TV set. An enhancement factor of 0.0
    gives a solid gray image. A factor of 1.0 gives the original image.
    r   r   r   c                 C  sŒ   || _ |jdkr| d¡}tt |¡jd d ƒ}t d|j	|¡| _
| j
j| j jkrf| j
 | j j¡| _
d| j  ¡ v rˆ| j
 | j  d¡¡ d S )Nr   r   g      à?r   )r	   r   r   Úintr   ZStatÚmeanr   ÚnewÚsizer
   r   ÚputalphaÚ
getchannel)r   r	   r$   r   r   r   r   G   s    

zContrast.__init__Nr    r   r   r   r   r"   ?   s   r"   c                   @  s    e Zd ZdZdddœdd„ZdS )Ú
BrightnesszÅAdjust image brightness.

    This class can be used to control the brightness of an image.  An
    enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the
    original image.
    r   r   r   c                 C  s<   || _ t |j|jd¡| _d| ¡ v r8| j | d¡¡ d S )Nr   r   )	r	   r   r%   r   r&   r
   r   r'   r(   r   r   r   r   r   \   s    zBrightness.__init__Nr    r   r   r   r   r)   T   s   r)   c                   @  s    e Zd ZdZdddœdd„ZdS )Ú	SharpnesszðAdjust image sharpness.

    This class can be used to adjust the sharpness of an image. An
    enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the
    original image, and a factor of 2.0 gives a sharpened image.
    r   r   r   c                 C  s6   || _ | tj¡| _d| ¡ v r2| j | d¡¡ d S )Nr   )r	   Úfilterr   ZSMOOTHr
   r   r'   r(   r   r   r   r   r   l   s    zSharpness.__init__Nr    r   r   r   r   r*   d   s   r*   N)Ú
__future__r   Ú r   r   r   r   r   r"   r)   r*   r   r   r   r   Ú<module>   s   