_CONVERT_COMMAND
public
mixed
_CONVERT_COMMAND
= 'convert'
public
mixed
_CONVERT_COMMAND
= 'convert'
public
mixed
_IMG_CONVERT_QUALITE
= _IMG_QUALITE
public
mixed
_IMG_IMAGICK_QUALITE
= 75
public
mixed
_RESIZE_COMMAND
= _CONVERT_COMMAND . ' -quality ' . _IMG_CONVERT_QUALITE . ' -orient Undefined %src -resize %xx%y! %dest'
public
mixed
_ROTATE_COMMAND
= _CONVERT_COMMAND . ' -background none %src -rotate %t %dest'
Une action qui permet de changer le image_process via un simple bouton utilisée par la page de demo/filtres_images
action_image_process_changer_dist() : void
demo_liste_formats_supportes() : mixed
demo_liste_images_types() : mixed
demo_liste_filtres() : mixed
demo_liste_images(mixed $quoi) : mixed
demo_affiche_image(mixed $img) : mixed
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
couleur_web(mixed $couleur) : mixed
couleur_4096(mixed $couleur) : mixed
couleur_luminance_relative(mixed $couleur) : mixed
couleur_extreme(mixed $couleur[, mixed $limite = 0.5 ]) : mixed
couleur_inverser(mixed $couleur) : mixed
couleur_foncer_si_claire(mixed $couleur[, mixed $seuil = 122 ]) : mixed
couleur_eclaircir_si_foncee(mixed $couleur[, mixed $seuil = 123 ]) : mixed
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.
Couleur en écriture hexadécimale, tel que ff3300
Pourcentage désiré (entre 0 et 1)
Si true, ne change que la saturation, sans toucher à la luminosité
Couleur en écriture hexadécimale.
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.
Couleur en écriture hexadécimale, tel que ff3300
Pourcentage désiré (entre 0 et 1)
Couleur en écriture hexadécimale.
La fonction de base qui déclare le process et detecte si il est utilisable - si non renvoie null - si oui renvoie les formats qu'il sait traiter en entrée et en sortie
filtres_image_process_convert_dist([bool $tester = false ]) : array<string|int, string>
proces_convert_disponible() : mixed
La fonction qui cree la vignette avec le process extérieur
filtres_image_process_convert_vignette_dist(string $fichier_source, string $format_source, string $fichier_dest, string $format_dest, int $width, int $height) : string|null
Version "convert" du filtre image_rotation si la librairie convert a été selectionnée dans l'admin
image_rotation__process_convert(string $im, float $angle[, bool $crop = false ]) : string
La fonction de base qui déclare le process et detecte si il est utilisable - si non renvoie null - si oui renvoie les formats qu'il sait traiter en entrée et en sortie
filtres_image_process_imagick_dist([bool $tester = false ]) : array<string|int, string>
La fonction qui cree la vignette avec le process extérieur
filtres_image_process_imagick_vignette_dist(string $fichier_source, string $format_source, string $fichier_dest, string $format_dest, int $width, int $height) : string|null
_image_process_config() : mixed
Exporter l'image dans un fichier Cette fonction est automatiquement appelée par _image_gd_ouptput via _image_write quand l'image passée est de la classe \Imagick
_image_imagick_write(string $format, Imagick $imagick, string $fichier[, int|null $qualite = null ]) : bool
Preparer un ImageManager de la librairie intervention, en fonction de la configuration image_process de SPIP Peut être utilisée directement pour creer/lire des images via la lib intervention
_image_intervention_manager() : ImageManager
Lire une image à l'aide de la librairie Intervention
_image_intervention_createfrom(string $filename) : ImageInterface
Exporter l'image dans un fichier Cette fonction est automatiquement appelée à partir de `_image_object_ouptput()` (qui appelle d'autres fonctions) via `_image_write()` quand l'image passée est de la classe \Intervention\Image\Image
_image_intervention_image_image_write(string $format, ImageInterface $img, string $filename[, int|null $qualite = null ]) : bool
_image_disable_alpha_blending(mixed $image) : mixed
_image_importe_gif_transparent(mixed $image) : mixed
_image_colorize(mixed $image[, mixed $red = 0 ][, mixed $green = 0 ][, mixed $blue = 0 ]) : mixed
_image_map(GdImage|Imagick|Image $image, string|Closure $callback_function) : GdImage|Imagick
multiple_de_trois(mixed $val) : mixed
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>
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>
Transformation d'une couleur RGB en HSL
(pour SPIP4)
_couleur_rgb2hsl(int $R, int $G, int $B) : array<string|int, mixed>
HSL float entre 0 et 1 RGB entiers entre 0 et 255
Transformation d'une couleur HSL en RGB
(pour SPIP4)
_couleur_hsl2rgb(float $H, float $S, float $L) : array<string|int, mixed>
HSL float entre 0 et 1 RGB entiers entre 0 et 255
A partir d'une image, recupere une couleur renvoit sous la forme hexadecimale ("F26C4E" par exemple).
_image_couleur_extraire(string $src[, int|string $x = 10 ][, int $y = 6 ]) : mixed|string
Par defaut, la couleur choisie se trouve un peu au-dessus du centre de l'image. On peut forcer un point en fixant $x et $y, entre 0 et 20. si on passe 'moyenne' pour x alors une couleur moyenne est calculee sur les 20x20px
_image_distance_pixel(mixed $xo, mixed $yo, mixed $x0, mixed $y0) : mixed
Decale une composante de couleur entier de 0 a 255
_image_decale_composante(int $coul, int $gamma) : int
_image_masque_prepare_masque(array<string|int, mixed> $mask, mixed $largeur, mixed $hauteur, mixed $mode[, array<string|int, mixed> $params = [] ]) : mixed
Calcule le mélange de 2 pixels transparents (pixel masque sur pixel image) fonction support pour les fonctions _image_masque_pixel_mode_xxx()
_image_masque_merge_transparent_pixels(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_masque(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_normal(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_produit(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_difference(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_superposer(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_lumiere_dure(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_ecran(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_eclaircir(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_obscurcir(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_teinte(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_saturation(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
_image_masque_pixel_mode_valeur(array<string|int, mixed> $ci, mixed $cm) : array<string|int, mixed>
couleur du pixel de l'image int $r, int $g, int $b, float $a
couleur du pixel du masque int $r, int $g, int $b, float $a
couleur du pixel resultat int $r, int $g, int $b, float $a
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 $src) : string
Un filtre pour supprimer les infos exif - si besoin si pas d'exif, le filtre ne fait rien et renvoie l'image d'origine
image_supprime_exif(string $src) : string
1/ Aplatir une image semi-transparente (supprimer couche alpha) en remplissant la transparence avec couleur choisir $coul.
image_aplatir(string $src[, string $format = 'jpg' ][, string $bg_color = '000000' ][, int|null $qualite = null ][, bool $transparence = false ]) : string
2/ Forcer le format de sauvegarde (jpg, png, gif, webp, avif...) pour les formats compresses jpg/webp/avif.., $qualite correspond au niveau de compression (defaut 85) pour le format gif, $qualite correspond au nombre de couleurs dans la palette (defaut 128) pour le format png, $qualite correspond au nombre de couleur dans la palette ou si 0 a une image truecolor (defaut truecolor) attention, seul 128 est supporte en l'etat (production d'images avec palette reduite pas satisfaisante) 3/ $transparence a "true" permet de conserver la transparence (utile pour conversion GIF)
Enregistrer une image dans un format donne (conserve la transparence gif, png, ico, webp,avif)
image_format(string $src[, string $format = 'png' ][, string $bg_color = 'cccccc' ]) : string
format de l'image produite (gif, png, jpg, webp, avif..) png8 permet de demander un png en couleurs indexées
couleur de fond si la transparence ne peut être conservée
|image_alpha{63} Applique une transparence à l'image.
image_alpha(string $src[, int $alpha = 63 ]) : string
alpha = 0: aucune transparence alpha = 127: completement transparent
Recadre (rogne) une image en indiquant la taille de la découpe souhaitée
image_recadre(string $src, string|int $crop_width[, string|int $crop_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.
Chemin de l'image ou balise html <img src=... />
Largeur du recadrage ou ratio sous la forme "16:9"
Hauteur du recadrage ou "+" (agrandir) ou "-" (reduire) si un ratio est fourni pour width
Indication de position de la découpe :
center
, left
, right
, top
, bottom
,top left
top=50
ou composée top=40 left=50
Couleur de fond si on agrandit l'image
balise image recadrée
Recadrer une image dans le rectangle le plus petit possible sans perte de pixels non transparent Par defaut le recadrage se fait en conservant le centre de l'image (recadre symétrique gauche vs droite et haut vs bas) mais en passant un second argument à false/non/all/mini on force un recadrage au plus juste de chaque côté
image_recadre_mini(string $src[, string|bool $keep_center = true ][, int $tolerance = 10 ]) : string
Le 3ème argument (de 0 à 255) permet de fixer la tolerance sur l'opacité (par défaut 10)
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 $src) : string
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 $src) : string
Passer, en plus de l'image d'origine, une image de "masque": un fichier PNG24 transparent.
image_masque(string $src, string $masque, mixed ...$args) : string
Le decoupage se fera selon la transparence du "masque", et les couleurs seront eclaircies/foncees selon de couleur du masque. Pour ne pas modifier la couleur, le masque doit etre en gris 50%.
Si l'image source est plus grande que le masque, alors cette image est reduite a la taille du masque. Sinon, c'est la taille de l'image source qui est utilisee.
$pos est une variable libre, qui permet de passer left=..., right=..., bottom=..., top=... dans ce cas, le masque est place a ces positions sur l'image d'origine, et evidemment cette image d'origine n'est pas redimensionnee
Positionnement horizontal: text-align=left, right, center Positionnement vertical : vertical-align=top, bottom, middle (les positionnements left, right, top, left sont relativement inutiles, mais coherence avec CSS)
Repeter le masque : repeat=repeat-x, repeat-y, repeat
Choix du mode de fusion: mode=masque, normal, eclaircir, obscurcir, produit, difference, ecran, superposer, lumiere_dure, teinte, saturation, valeur https://en.wikipedia.org/wiki/Blend_modes
Il est possible d'ajouter son propre mode de fusion xxxx en déifinissant une fonction homonyme _image_masque_pixel_mode_xxxx()
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 $src[, int|null $val_r = null ][, int|null $val_g = null ][, int|null $val_b = null ]) : string
Par défaut, sans argument, on utilise le greyscale() par defaut de la lib graphique, beaucoup plus rapide
Si on passe un seul argument auto
[(#FICHIER|image_nb{auto}))]
ce sont les pondérations automatiques utilisées,
mais calculées précisemment pixel par pixel
Calcul d'un flou sur une image.
image_flou(mixed $src[, 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
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>
en degres
[int, int]
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 $src, float $angle[, bool $crop = false ]) : string
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
Permet de rendre une image plus claire ($luminosite > 0 à 255) ou plus foncee ($luminosite < 0 à -255)
image_luminosite(string $src[, int $luminosite = 0 ]) : string
(Correspond en fait au filtre brightness de GD)
image_gamma(mixed ...$args) : mixed
Corriger les composantes RGB d'une image Pour chaque argument : - une valeur de 0 à 255 permet d'augmenter la composante - une valeur de 0 à -255 permet de diminuer la composante
image_colorize(string $src[, int $red = 0 ][, int $green = 0 ][, int $blue = 0 ]) : string
Passe l'image en "sepia" On peut fixer les valeurs RGB de la couleur "complementaire" pour forcer une dominante
image_sepia(string $src[, string $sepia = '896f5e' ][, bool $legacy = false ]) : mixed|string
Par defaut, on utilise des fonctions rapides à base de colorize mais c'est une approximation avec un peu moins de piquant que la méthode de calcul pixel à pixel On peut retrouver le résultat plus précis de cette dernière en passant $legacy = true en argument, mais c'est beaucoup plus lent
Renforcer la netteté d'une image
image_renforcement(string $src[, float $k = 0.5 ]) : string
Code HTML de l'image
Niveau de renforcement (entre 0 et 1)
Code HTML de l'image
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 $src, string $bg_color[, int $tolerance = 12 ][, int $alpha = 127 ][, int $coeff_lissage = 7 ]) : mixed|null|string
alpha = 0: aucune transparence alpha = 127: completement transparent