Toutes les fonctions couleur_xx de ce fichier :
- prennent une couleur hexa sur 6 caracteres en entree (les couleurs web nommees sont admises aussi)
- fournissent une couleur hexa en sortie
- sont chainables les unes derrieres les autres dans toutes les combinaisons possibles
couleur_extraire(mixed $img[, mixed $x = 10 ][, mixed $y = 6 ]) : mixed
Parameters
-
$img
: mixed
-
-
$x
: mixed
= 10
-
-
$y
: mixed
= 6
-
couleur_web()
couleur_web(mixed $couleur) : mixed
Parameters
-
$couleur
: mixed
-
couleur_4096()
couleur_4096(mixed $couleur) : mixed
Parameters
-
$couleur
: mixed
-
couleur_luminance_relative()
couleur_luminance_relative(mixed $couleur) : mixed
Parameters
-
$couleur
: mixed
-
couleur_extreme()
couleur_extreme(mixed $couleur[, mixed $limite = 0.5 ]) : mixed
Parameters
-
$couleur
: mixed
-
-
$limite
: mixed
= 0.5
-
couleur_inverser()
couleur_inverser(mixed $couleur) : mixed
Parameters
-
$couleur
: mixed
-
couleur_foncer_si_claire()
couleur_foncer_si_claire(mixed $couleur[, mixed $seuil = 122 ]) : mixed
Parameters
-
$couleur
: mixed
-
-
$seuil
: mixed
= 122
-
couleur_eclaircir_si_foncee()
couleur_eclaircir_si_foncee(mixed $couleur[, mixed $seuil = 123 ]) : mixed
Parameters
-
$couleur
: mixed
-
-
$seuil
: mixed
= 123
-
couleur_saturation()
Modifie la saturation et parfois la luminosité de la couleur transmise
couleur_saturation(string $couleur, float $val[, bool|string $strict = false ]) : string
Opère sur une échelle absolue.
Parameters
-
$couleur
: string
-
Couleur en écriture hexadécimale, tel que ff3300
-
$val
: float
-
Pourcentage désiré (entre 0 et 1)
-
$strict
: bool|string
= false
-
Si true, ne change que la saturation, sans toucher à la luminosité
-
link
-
https://www.spip.net/3326
-
example
-
-
[(#VAL{fc3924}|couleur_saturation{0})]
retourne blanc (ffffff),
-
[(#VAL{fc3924}|couleur_saturation{1})]
retourne la couleur avec sa saturation au maximum (fb1800)
-
[(#VAL{fc3924}|couleur_saturation{0.2})]
retourne la couleur avec 20% de saturation (fed0cc)
-
uses
-
_couleur_hex_to_dec()
-
uses
-
_couleur_dec_to_hex()
-
used-by
-
couleur_luminance()
Return values
string
—
Couleur en écriture hexadécimale.
couleur_luminance()
Modifie la luminance de la couleur transmise
couleur_luminance(string $couleur, float $val) : string
Change la luminance en forçant le résultat sur une échelle absolue.
Parameters
-
$couleur
: string
-
Couleur en écriture hexadécimale, tel que ff3300
-
$val
: float
-
Pourcentage désiré (entre 0 et 1)
-
link
-
https://www.spip.net/3326
-
example
-
-
[(#VAL{fc3924}|couleur_luminance{0})]
retourne blanc (ffffff),
-
[(#VAL{fc3924}|couleur_luminance{1})]
retourne noir (000000)
-
[(#VAL{fc3924}|couleur_luminance{0.5})]
retourne une luminance moyenne (fb1b03)
-
[(#VAL{fc3924}|couleur_luminance{0.2})]
retourne la couleur avec 20% de luminance (fda49a)
-
uses
-
_couleur_hex_to_dec()
-
uses
-
couleur_saturation()
-
uses
-
_couleur_rgb2hsl()
-
uses
-
_couleur_hsl2rgb()
-
uses
-
_couleur_dec_to_hex()
Return values
string
—
Couleur en écriture hexadécimale.
multiple_de_trois()
multiple_de_trois(mixed $val) : mixed
Parameters
-
$val
: mixed
-
_couleur_rgb2hsv()
Transformation d'une couleur vectorielle RGB en HSV
RGB entiers entre 0 et 255
HSV float entre 0 et 1
_couleur_rgb2hsv(int $R, int $G, int $B) : array<string|int, mixed>
Parameters
-
$R
: int
-
-
$G
: int
-
-
$B
: int
-
Return values
array<string|int, mixed>
_couleur_hsv2rgb()
Transformation d'une couleur vectorielle HSV en RGB
HSV float entre 0 et 1
RGB entiers entre 0 et 255
_couleur_hsv2rgb(float $H, float $S, float $V) : array<string|int, mixed>
Parameters
-
$H
: float
-
-
$S
: float
-
-
$V
: float
-
Return values
array<string|int, mixed>
_couleur_rgb2hsl()
Transformation d'une couleur RGB en HSL
_couleur_rgb2hsl(int $R, int $G, int $B) : array<string|int, mixed>
HSL float entre 0 et 1
RGB entiers entre 0 et 255
Parameters
-
$R
: int
-
-
$G
: int
-
-
$B
: int
-
-
deprecated
-
3.0
-
uses
-
_couleur_rgb_to_hsl()
-
used-by
-
couleur_luminance()
Return values
array<string|int, mixed>
_couleur_hsl2rgb()
Transformation d'une couleur HSL en RGB
_couleur_hsl2rgb(float $H, float $S, float $L) : array<string|int, mixed>
HSL float entre 0 et 1
RGB entiers entre 0 et 255
Parameters
-
$H
: float
-
-
$S
: float
-
-
$L
: float
-
-
deprecated
-
3.0
-
uses
-
_couleur_hsl_to_rgb()
-
used-by
-
couleur_luminance()
Return values
array<string|int, mixed>
_image_couleur_extraire(mixed $img[, mixed $x = 10 ][, mixed $y = 6 ]) : mixed
Parameters
-
$img
: mixed
-
-
$x
: mixed
= 10
-
-
$y
: mixed
= 6
-
_image_distance_pixel()
_image_distance_pixel(mixed $xo, mixed $yo, mixed $x0, mixed $y0) : mixed
Parameters
-
$xo
: mixed
-
-
$yo
: mixed
-
-
$x0
: mixed
-
-
$y0
: mixed
-
_image_decale_composante()
Decale une composante de couleur
entier de 0 a 255
_image_decale_composante(int $coul, int $gamma) : int
Parameters
-
$coul
: int
-
-
$gamma
: int
-
image_oriente_selon_exif()
Un filtre pour re-orienter automatiquement une image selon son exif - si besoin
si pas d'exif ou pas d'orientation, le filtre ne fait rien et renvoie l'image d'origine
image_oriente_selon_exif(string $img) : string
Parameters
-
$img
: string
-
image_aplatir()
image_aplatir(mixed $im[, mixed $format = 'jpg' ][, mixed $coul = '000000' ][, mixed $qualite = null ][, mixed $transparence = false ]) : mixed
Parameters
-
$im
: mixed
-
-
$format
: mixed
= 'jpg'
-
-
$coul
: mixed
= '000000'
-
-
$qualite
: mixed
= null
-
-
$transparence
: mixed
= false
-
image_format(mixed $img[, mixed $format = 'png' ]) : mixed
Parameters
-
$img
: mixed
-
-
$format
: mixed
= 'png'
-
image_alpha()
image_alpha(mixed $im[, mixed $alpha = 63 ]) : mixed
Parameters
-
$im
: mixed
-
-
$alpha
: mixed
= 63
-
image_recadre()
Recadre (rogne) une image en indiquant la taille de la découpe souhaitée
image_recadre(string $im, string|int $width[, string|int $height = '-' ][, string $position = 'center' ][, string $background_color = 'white' ]) : string
On peut indiquer une proportion ou une taille spécifique, une position de rognage
et une couleur de fond, si le rognage est de taille plus grande que l'image d'origine.
Parameters
-
$im
: string
-
Chemin de l'image ou balise html <img src=... />
-
$width
: string|int
-
Largeur du recadrage
ou ratio sous la forme "16:9"
-
$height
: string|int
= '-'
-
Hauteur du recadrage
ou "+" (agrandir) ou "-" (reduire) si un ratio est fourni pour width
-
$position
: string
= 'center'
-
Indication de position de la découpe :
-
center
, left
, right
, top
, bottom
,
- ou combinaisons de plusiers
top left
- ou indication en pixels depuis une position
top=50
ou composée top=40 left=50
- ou nom d'une fonction spéciale qui calculera et retournera la position souhaitée
-
$background_color
: string
= 'white'
-
Couleur de fond si on agrandit l'image
-
example
-
-
[(#FICHIER|image_recadre{800, 400})]
-
[(#FICHIER|image_recadre{800, 400, center})]
-
[(#FICHIER|image_recadre{800, 400, center, black})]
-
[(#FICHIER|image_recadre{16:9})]
-
[(#FICHIER|image_recadre{16:9, -})]
(- est appliqué par défaut, équivalent à image_passe_partout)
-
[(#FICHIER|image_recadre{16:9, +, center, white})]
-
[(#FICHIER|image_recadre{16:9, -, top left})]
-
[(#FICHIER|image_recadre{16:9, -, top=40 left=20})]
-
filtre
-
-
uses
-
_image_valeurs_trans()
-
uses
-
_image_tag_changer_taille()
si image trop grande pour être traitée
-
uses
-
_image_ecrire_tag()
-
link
-
https://www.spip.net/5786
image_recadre_mini()
Recadrer une image dans le rectangle le plus petit possible sans perte
de pixels non transparent
Le recadrage se fait en conservant le centre de l'image : on recadre symétriquement gauche vs droite et haut vs bas
TODO : proposer une option pour vraiment recadrer au plus juste, meme si ca decentre l'image
image_recadre_mini(string $im) : string
Parameters
-
$im
: string
-
image_flip_vertical()
Flip une image selon un axe de symétrie central et vertical
(c'est donc un flip horizontal au sens de GD)
image_flip_vertical(string $im) : string
Parameters
-
$im
: string
-
image_flip_horizontal()
Flip une image selon un axe de symétrie central et horizontal
(c'est donc un flip vertical au sens de GD)
image_flip_horizontal(string $im) : string
Parameters
-
$im
: string
-
image_masque()
image_masque(mixed $im, mixed $masque[, mixed $pos = '' ]) : mixed
Parameters
-
$im
: mixed
-
-
$masque
: mixed
-
-
$pos
: mixed
= ''
-
image_nb()
Passage de l'image en noir et blanc
un noir & blanc "photo" n'est pas "neutre": les composantes de couleur sont
ponderees pour obtenir le niveau de gris
on peut ici regler cette ponderation en "pour mille"
image_nb(string $im[, int|null $val_r = null ][, int|null $val_g = null ][, int|null $val_b = null ]) : string
Par défaut, si on ne passe pas de pondération, on utilise le filtre IMG_FILTER_GRAYSCALE de GD beaucoup plus rapide
Parameters
-
$im
: string
-
-
$val_r
: int|null
= null
-
-
$val_g
: int|null
= null
-
-
$val_b
: int|null
= null
-
image_flou()
Calcul d'un flou sur une image.
image_flou( $im[, int $niveau = 3 ]) : string
On utilise une matrice de convolution pour le niveau 1 et le niveau 2, qu'on repasse autant de fois que nécessaire
pour arriver au niveau de flou souhaité qui est appriximativement le rayon du flou
Le filtre préserve la transparence
Parameters
-
$im
:
-
-
$niveau
: int
= 3
-
dimensions_rotation_image()
Determiner les nouvelles dimensions de l'image apres rotation
dimensions_rotation_image(int|float $angle, int $width, int $height[, int $center_x = null ][, int $center_y = null ]) : array<string|int, mixed>
Parameters
-
$angle
: int|float
-
-
$width
: int
-
-
$height
: int
-
-
$center_x
: int
= null
-
-
$center_y
: int
= null
-
Return values
array<string|int, mixed>
—
image_rotation()
permet de faire tourner une image d'un angle quelconque
le flag "crop" permet de recadrer l'image pour conserver sa taille d'origine
image_rotation(string $im, float $angle[, bool $crop = false ]) : string
Parameters
-
$im
: string
-
-
$angle
: float
-
-
$crop
: bool
= false
-
image_imagick()
Permet d'appliquer un filtre basé sur une méthode Imagick:: a une image
par exemple: [(#LOGO_ARTICLE|image_imagick{waveImage,20,60})]
Les arguments suivant le nom de la méthode sont ceux de la méthode
image_imagick() : string
Liste des méthodes: https://www.php.net/manual/en/book.imagick.php
-
throws
-
ImagickException
-
uses
-
_image_imagick_write()
_image_imagick_write()
Ecriture sur le disque d'une umage générée par Imagick
_image_imagick_write(Imagick $imagick, string $fichier[, mixed $qualite = _IMG_GD_QUALITE ]) : bool
Parameters
-
$imagick
: Imagick
-
-
$fichier
: string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.png).
-
$qualite
: mixed
= _IMG_GD_QUALITE
-
-
see
-
image_imagick()
-
used-by
-
image_imagick()
Return values
bool
—
- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
image_gamma()
image_gamma(mixed $im[, mixed $gamma = 0 ]) : mixed
Parameters
-
$im
: mixed
-
-
$gamma
: mixed
= 0
-
image_sepia()
Passe l'image en "sepia"
On peut fixer les valeurs RGB
de la couleur "complementaire" pour forcer une dominante
image_sepia(string $im[, string $rgb = '896f5e' ][, bool $legacy = false ]) : mixed|string
Par defaut, on utilise les fonciton de gd pour un résultat plus rapide
mais avec un peu moins de piquant que la méthode historique de SPIP,
dont on peut retrouver le résultat en passant $legacy = true en argument
Parameters
-
$im
: string
-
-
$rgb
: string
= '896f5e'
-
-
$legacy
: bool
= false
-
Return values
mixed|string
image_renforcement()
Renforcer la netteté d'une image
image_renforcement(string $im[, float $k = 0.5 ]) : string
Parameters
-
$im
: string
-
-
$k
: float
= 0.5
-
Niveau de renforcement (entre 0 et 1)
image_fond_transparent()
Transforme la couleur de fond de l'image en transparence
Le filtre ne gere pas la notion de contiguite aux bords, et affectera tous les pixels de l'image dans la couleur visee
$background_color : couleur cible
$tolerance : distance L1 dans l'espace RGB des couleur autour de la couleur $background_color pour lequel la transparence sera appliquee
$alpha : transparence a appliquer pour les pixels de la couleur cibles avec la tolerance ci-dessus
$coeff_lissage : coeff applique a la tolerance pour determiner la decroissance de la transparence fonction de la distance L1 entre la couleur du pixel et la couleur cible
image_fond_transparent(string $im, string $background_color[, int $tolerance = 12 ][, int $alpha = 127 ][, int $coeff_lissage = 7 ]) : mixed|null|string
Parameters
-
$im
: string
-
-
$background_color
: string
-
-
$tolerance
: int
= 12
-
-
$alpha
: int
= 127
-
alpha = 0: aucune transparence
alpha = 127: completement transparent
-
$coeff_lissage
: int
= 7
-
Return values
mixed|null|string
rtl_mb_ord()
rtl_mb_ord(mixed $char) : mixed
Parameters
-
$char
: mixed
-
rtl_reverse()
rtl_reverse(mixed $mot, mixed $rtl_global) : mixed
Parameters
-
$mot
: mixed
-
-
$rtl_global
: mixed
-
rtl_visuel()
rtl_visuel(mixed $texte, mixed $rtl_global) : mixed
Parameters
-
$texte
: mixed
-
-
$rtl_global
: mixed
-
printWordWrapped()
printWordWrapped(mixed $image, mixed $top, mixed $left, mixed $maxWidth, mixed $font, mixed $couleur, mixed $text, mixed $textSize[, mixed $align = 'left' ][, mixed $hauteur_ligne = 0 ]) : mixed
Parameters
-
$image
: mixed
-
-
$top
: mixed
-
-
$left
: mixed
-
-
$maxWidth
: mixed
-
-
$font
: mixed
-
-
$couleur
: mixed
-
-
$text
: mixed
-
-
$textSize
: mixed
-
-
$align
: mixed
= 'left'
-
-
$hauteur_ligne
: mixed
= 0
-
produire_image_typo()
produire_image_typo() : mixed
image_typo()
Créer une image typo
image_typo() : string
-
note
-
Cas particulier historique : son nom commence par "image_"
mais s'applique sur un texte…