PHP ne se limite pas à la génération de pages HTML. Il peut aussi servir à créer et manipuler des images, dans un grand choix de formats, comme GIF, PNG, JPEG, WBMP et XPM. Et PHP peut même générer directement des images pour le navigateur, avec la bibliothèque GD. GD et PHP auront aussi besoin d'autres bibliothèques, en fonction des formats que vous souhaitez utiliser.
Vous pouvez utiliser les fonctions PHP pour obtenir les tailles des images aux formats JPEG, GIF, PNG, SWF, TIFF et JPEG2000.
Avec l'extension exif, vous pourrez travailler avec les informations stockées dans les en-têtes des images JPEG et TIFF. De cette façon, vous pourrez lire les méta-données générées par les appareils numériques. Les fonctions exif ne nécessitent pas la bibliothèque GD.
Note : Lisez la section sur les besoins pour savoir comment étendre les capacités des fonctions sur les images pour lire, écrire et modifier les images. Pour lire les méta-données des photos prises avec des appareils numériques, vous devez utiliser l'extension exif mentionnée ci-dessus.
Si vous disposez de la bibliothèque GD (disponible à http://www.boutell.com/gd/) vous pourrez aussi créer et manipuler des images.
Les formats des images que vous pourrez manipuler dépendent de la version de GD que vous installerez, et de toutes autres bibliothèques dont GD a besoin pour traiter ces images. Les versions antérieures à la version 1.6 supportent le GIF, mais pas le PNG. À partir des version de GD supérieures à 1.6 et inférieures à 2.0.28, c'est le contraire. Le support du GIF a été rajouté à partir de la verison 2.0.28.
Note : Depuis PHP 4.3, il existe une version de GD qui est distribuée avec PHP. Cette version contient des fonctionnalités supplémentaires, comme les canaux alpha, et il est recommandé de l'utiliser de préférence à la bibliothèque externe, car elle est mieux supportée, et bien plus stable.
Note : Le support pour GD 1.x a été supprimé à partir de PHP 6.0.0, qui requiert 2.0.33 ou supérieur.
Vous pouvez aussi améliorer GD en lui ajoutant des formats d'images supplémentaires.
Tableau 1. Formats d'images supportés
Format d'image | Bibliothèque à télécharger | Notes |
---|---|---|
gif | Uniquement supporté en versions de GD antérieures à la version 1.6 et supérieures ou égales à la version 2.0.28. Le support des images GIF est disponible en lecture seule depuis PHP 4.3.0, et dans la version de la bibliothèque qui est fournie avec la distribution de PHP. L'écriture est supportée depuis PHP 4.3.9 et PHP 5.0.1. | |
jpeg-6b | ftp://ftp.uu.net/graphics/jpeg/ | |
png | http://www.libpng.org/pub/png/libpng.html | Uniquement supporté avec GD plus récente que la version 1.6. |
xpm | ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | Il est probable que vous ayez déjà cette bibliothèque disponible si votre système dispose d'un environnement X. |
Vous pouvez aussi améliorer GD en lui ajoutant des fonctionnalités de manipulation de polices. Les bibliothèques suivantes sont supportées :
Tableau 2. Bibliothèques de polices supportées
Bibliothèque de police | Téléchargement | Notes |
---|---|---|
FreeType 1.x | http://www.freetype.org/ | |
FreeType 2 | http://www.freetype.org/ | Le support a été supprimé à partir de PHP 6.0.0 |
T1lib | ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Support des polices Postscript Type 1. |
Pour activer le support de GD, vous devez compiler PHP avec
l'option --with-gd[=DIR]
, où DIR est le
dossier d'installation de GD. Il est recommandé d'utiliser la version
de GD qui est distribuée avec PHP, en utilisant simplement l'option
--with-gd
.
La bibliothèque GD requiert libpng et
libjpeg pour compiler.
Sous Windows, vous devez inclure la bibliothèque php_gd2.dll comme extension dans le fichier php.ini. La bibliothèque php_gd.dll a été supprimée de PHP 4.3.2. Notez aussi que les fonctions conseillées truecolor, comme imagecreatetruecolor(), requièrent GD2.
Pour désactiver le support de GD en PHP 3, ajoutez simplement
l'option --without-gd
dans votre ligne de
configuration.
Augmentez les possibilités des GD de gérer d'autres formats d'images en spécifiant les options --with-XXXX de compilation suivantes :
Tableau 3. Formats d'image supportés
Format d'image | Option de compilation |
---|---|
jpeg-6b |
Pour activer le support de la bibliothèque JPEG-6b, ajouter l'option
--with-jpeg-dir=DIR .
|
png |
Pour activer le support de la bibliothèque PNG, ajouter l'option
--with-png-dir=DIR . Notez que libpng
requiert la bibliothèque zlib
et, donc, il vous faudra ajouter aussi
--with-zlib-dir[=DIR] dans votre ligne
de compilation.
|
xpm |
Pour activer le support de la bibliothèque XPM, ajoutez l'option
--with-xpm-dir=DIR . Si le script
de compilation n'est pas capable de trouver les bibliothèques
nécessaires, il vous faudra ajouter le chemin vers les bibliothèques X11.
|
Note : Lorsque vous compilez PHP avec libpng, vous devez utiliser la même version que celle liée à la bibliothèque GD.
Augmentez les possibilités de GD pour qu'elle manipule différents types de polices de caractères en ajoutant les options --with-XXXX de compilation suivantes :
Tableau 4. Bibliothèques des polices de caractères supportées
Bibliothèque | Option de configuration |
---|---|
FreeType 1.x |
Pour activer le support de FreeType 1.x, ajoutez l'option
--with-ttf[=DIR] .
|
FreeType 2 |
Pour activer le support de FreeType 2, ajoutez l'option
--with-freetype-dir=DIR .
|
T1lib |
Pour activer le support de T1lib (Postscript Type 1 fonts), ajoutez l'option
--with-t1lib[=DIR] .
|
Chaînes TrueType |
Pour activer le support des chaînes de caractères TrueType,
ajoutez l'option
--enable-gd-native-ttf .
|
Il n'y a pas de configuration spécifique pour les images mais vous êtes peut être intéressé par les directives de l'extension exif.
Cette extension ne définit aucune ressource.
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Précédent | Sommaire | Suivant |
iis_stop_service | Niveau supérieur | gd_info |