Introduction
PHP
ne
se
limite
pas
à
la
génération
de
pages
HTML
.
Il
peut
aussi
servir
à
créer
des
et
manipuler
des
images
,
dans
un
grand
choix
de
formats
,
comme
gif
,
png
,
jpg
,
wbmp
et
xpm
.
Et
même
,
PHP
peut
générer
directement
des
images
pour
le
navigateur
,
avec
la
librarie
GD
.
GD
et
PHP
auront
aussi
besoin
de
d
'
autres
librairies
,
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
.
Lisez
la
sections
sur
les
pré-requis
pour
savoir
comment
améliorer
les
possibilités
le
lecture
,
modification
et
écriture
d'
images
,
ainsi
que
les
possibilités
de
lecture
d
'images
prises
par
des
appareils
numériques
.
Pré-requis
Si
vous
disposez
de
la
librairie
GD
(
disponible
à
http
:
/
/www.boutell.com
/
gd
/
)
vous
pourrez
aussi
créer
et
manipuler
ces
images
.
Les
formats
des
images
que
vous
pourrez
manipuler
dépendent
de
la
version
de
GD
que
vous
installerez
,
et
de
toute
autre
librairie
dont
GD
a
besoin
pour
traiter
à
ces
images
.
Les
versions
antérieures
à
la
version
1.6
supportent
le
GIF
,
mais
pas
le
PNG
.
Pour
les
versions
plus
récentes
,
c
'
est
le
contraire
.
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
librairie
externe
,
car
elle
est
mieux
supportée
,
et
bien
plus
stable
.
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
|
Librairie
à
télécharger
|
|
|
|
Uniquement
supporté
en
versions
de
GF
antérieure
à
gd-1.6
.
Le
support
des
images
GIF
est
disponible
en
lecture
seule
depuis
PHP
4.3.0
,
et
dans
la
version
de
la
librairie
qui
est
fournie
avec
la
distribution
de
PHP
.
|
|
|
|
|
|
Uniquement
supporté
avec
GD
plus
récente
que
gd-1.6
.
|
|
|
Il
est
probable
que
vous
ayez
déjà
cette
librairie
disponible
si
votre
système
dispose
d
'
un
environnement
X
.
|
Vous
pouvez
aussi
améliorer
GD
en
lui
ajoutant
des
fonctionalités
de
manipulation
de
polices
.
Les
librairies
suivantes
sont
supportées
:
Tableau
2
.
Librarie
de
police
|
Téléchargement
|
|
|
|
|
|
|
|
|
|
Support
des
polices
de
Type
1
.
|
Si
vous
avez
compilé
PHP
avec
l'
option
--enable-exif
vous
serez
capable
d
'accéder
aux
données
stockées
dans
les
entêtes
des
images
JPEG
et
TIFF
.
De
cette
façon
,
vous
pouvez
lire
les
méta
données
générées
par
les
appareils
numériques
.
Ces
fonctions
ne
requièrent
par
la
librairie
GD
.
PHP
ne
requiert
aucune
librairie
supplémentaire
pour
gérer
les
données
EXIF
.
Installation
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é
avec
PHP
,
en
utilisant
simplement
l
'option
--with-gd
.
Augmentez
les
possibilités
des
GD
de
gérer
d'
autres
formats
d
'images
en
spécifiant
les
options
de
compilations
suivantes
:
Tableau
3
.
Formats
d
'
image
supportés
Format
d
'
image
|
Option
de
compilation
|
|
Pour
activer
le
support
de
la
librairie
JPEG-6b
,
ajouter
l
'
option
--with-jpeg-dir=DIR
.
|
|
Pour
activer
le
support
de
la
librairie
PNG
,
ajouter
l
'
option
--with-png-dir=DIR
.
Notez
que
libpng
requiert
la
librairie
zlib
,
et
donc
,
il
vous
faudra
ajouter
aussi
--with-zlib-dir[
=DIR
]
dans
votre
ligne
de
compilation
.
|
|
Pour
activer
le
support
de
la
librairie
XPM
,
ajoutez
l
'
option
--with-xpm-dir=DIR
.
Si
le
script
de
compilation
n
'
est
pas
capable
de
trouver
les
librairies
nécessaires
,
il
vous
faudra
ajouter
le
chemin
vers
les
librairies
X11
.
|
Augmentez
les
possibilités
de
GD
pour
qu
'
elle
manipule
différentes
types
de
polices
de
caractères
en
ajoutant
les
options
de
compilations
suivantes
:
Tableau
4
.
Librairies
des
polices
de
caractères
supportées
Librairie
|
Option
de
configuration
|
|
Pour
activer
le
support
de
FreeType
1.x
,
ajoutez
l'
option
--with-ttf[=DIR
]
.
|
|
Pour
activer
le
support
de
FreeType
2
,
ajoutez
l
'
option
--with-freetype-dir=DIR
.
|
|
Pour
activer
le
support
de
T1lib
(
Type
1
fonts)
,
ajoutez
l'option
--with-t1lib[=DIR
]
.
|
|
Pour
activer
le
support
des
chaînes
de
caractères
TrueType
,
ajoutez
l
'
option
--enable-gd-native-ttf
.
|
Configuration à l'exécution
Le
comportement
de
ces
fonctions
est
affecté
par
la
configuration
dans
le
fichier
php.ini
.
Exif
supporte
automatiquement
la
conversion
en
Unicode
et
JIS
pour
les
commentaires
des
utilisateurs
,
lorsque
le
module
mbstring
est
disponible
.
Cela
se
fait
en
décodant
le
commentaire
avec
le
bon
jeu
de
caractères
.
Le
résultat
peut
alors
être
encodé
dans
le
jeu
de
caractères
de
votre
serveur
HTTP
.
Tableau
5
.
Options
de
configuration
Nom
|
Par
défaut
|
Modifiable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour plus de détails sur les constantes PHP_INI_*,
reportez-vous à
ini_set()
.
Voici
de
détails
sur
les
directives
de
configuration
.
-
exif.encode_unicode
string
-
exif.encode_unicode
exif.encode_unicode
définit
le
jeu
de
caractères
UNICODE
utilisé
pour
les
commentaires
.
Par
défaut
,
c
'
est
ISO-8859-15
,
qui
devrait
fonctionner
pour
les
pays
non
asiatiques
.
Cette
option
peut
être
vide
,
ou
bien
contenir
un
jeu
de
caractères
qui
qui
est
supporté
par
mbstring
.
Si
cette
option
est
vide
,
la
configuration
de
mbstring
sera
utilisée
.
-
exif.decode_unicode_motorola
string
-
exif.decode_unicode_motorola
définit
le
jeu
de
caractères
interne
pour
les
utilisateurs
Unicode
,
si
le
commentaire
de
l'
image
est
en
big-endian
(ordre
de
motorola
)
.
Cette
option
ne
peut
être
vide
,
mais
vous
pouvez
y
spécifier
une
liste
de
jeux
de
caractères
utilisés
par
mbstring
.
Par
défaut
,
c
'
est
UCS-2BE
.
-
exif.decode_unicode_intel
string
-
exif.decode_unicode_intel
définit
le
jeu
de
caractères
interne
pour
les
utilisateurs
Unicode
,
si
le
commentaire
de
l'
image
est
en
little-endian
(ordre
d'intel
)
.
Cette
option
ne
peut
être
vide
,
mais
vous
pouvez
y
spécifier
une
liste
de
jeux
de
caractères
utilisés
par
mbstring
.
Par
défaut
,
c
'
est
UCS-2LE
.
-
exif.encode_jis
string
-
exif.encode_jis
exif.encode_jis
définit
le
jeux
de
caractères
pour
les
commentaires
en
JIS
.
Par
défaut
,
c
'
est
une
valeur
vide
,
ce
qui
force
la
fonction
à
utiliser
le
jeu
de
caractères
interne
de
mbstring
.
-
exif.decode_jis_motorola
string
-
exif.decode_jis_motorola
définit
le
jeu
de
caractères
interne
pour
les
utilisateurs
JIS
,
si
le
commentaire
de
l'
image
est
en
big-endian
(ordre
de
motorola
)
.
Cette
option
ne
peut
être
vide
,
mais
vous
pouvez
y
spécifier
une
liste
de
jeux
de
caractères
utilisés
par
mbstring
.
Par
défaut
,
c
'
est
JIS
.
-
exif.decode_jis_intel
string
-
exif.decode_jis_intel
définit
le
jeu
de
caractères
interne
pour
les
utilisateurs
JIS
,
si
le
commentaire
de
l'
image
est
en
little-endian
(ordre
d'intel
)
.
Cette
option
ne
peut
être
vide
,
mais
vous
pouvez
y
spécifier
une
liste
de
jeux
de
caractères
utilisés
par
mbstring
.
Par
défaut
,
c
'
est
JIS
.
Types de ressources
Cette
extension
ne
définit
aucune
ressource
.
Constantes Prédefinies
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
.
Exemples
Exemple
1
.
Création
d
'
une
image
PNG
avec
PHP
|
Cet exemple doit être appelé depuis une page HTML avec une
balise image telle que :
img src="button.php?text"
. Le script ci-dessus, button.php, prend la chaîne "text"
et l'inscrit sur le fond d'image appelée
"images/button1.png" et l'affiche. C'est une méthode très
pratique pour éviter de redessiner un nouveau bouteau, dès
que vous changez le texte d'un bouton. De cette façon, les
boutons sont dynamiquement générés.