a
    #Dfu                     @   sd   d dl mZ d dlZd dlZd dlZd dlZddlm	Z	 dddZ
dddZdd	d
ZdddZdS )    N   )utilsc                 C   s<   |d u r(t t tjd}t |d}tjj|| d}|S )Nzmpl-data/fonts/ttfzDejaVuSansMono.ttf)fontsize)ospjoindirname
matplotlib__file__PILZ	ImageFontZtruetype)r   	font_pathZ
fonts_pathr    r   ]/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/imgviz/draw/text.py	_get_font   s
    r   c           	      C   sx   t ||d}d}d}|  D ]R}|dkr,d}t|drN||dd \}}n||\}}t||}||7 }q||fS )zGet text size (height and width).

    Parameters
    ----------
    text: str
        Text.
    size: int
        Pixel font size.

    Returns
    -------
    height: int
        Text height.
    width: int
        Text width.

    )r   r    
getbboxr   N)r   
splitlineshasattrr   getsizemax)	textr   r   r   
text_widthZtext_heightline
line_widthZline_heightr   r   r   	text_size   s    


r   r   r   r   c                 C   s(   t | }t||||||d t |S )a  Draw text on numpy array with Pillow.

    Parameters
    ----------
    src: numpy.ndarray
        Input image.
    yx: (2,) array-like
        Left top point of the text.
    text: str
        Text to draw.
    size: int
        Text size in pixel.
    color: (3,) array-like
        Text RGB color in uint8.
        Default is (0, 0, 0), which is black.
    font_path: str
        Default font is DejaVuSansMono in matplotlib.

    Returns
    -------
    dst: numpy.ndarray
        Output image.

    )imgyxr   r   colorr   )r   Znumpy_to_pillowtext_Zpillow_to_numpy)srcr   r   r   r   r   dstr   r   r   r   7   s    
r   c           
      C   sB   t j| }|\}}t|}t||d}	|j||f|||	d d S )N)r   r   )Zxyr   fillr   )r   Z	ImageDrawtupler   r   )
r   r   r   r   r   r   Zdrawy1x1r   r   r   r   r    U   s
    r    )N)N)r   N)r   N)os.pathpathr   r	   Z	PIL.Imager   ZPIL.ImageDrawZPIL.ImageFontr   r   r   r   r   r    r   r   r   r   <module>   s   

$
