Blog de Keran » Développement Web » PHP – ecrire dans une image
PHP – ecrire dans une image
Voici une petite fonction bien pratique pour ecrire du texte sur une image.
Je l’utilise par exemple pour, sur une image réduite, inscrire le poids et la taille de l’image.
function ecrire_texte($texte,$taille_police,$image_loc,$image_nom_final,$font_loc,$position)
{
$image = »;
$tab_ext = explode (‘.’, $image_loc);$ext = $tab_ext[sizeof($tab_ext)-1];
switch(strtolower($ext))
{
case ‘gif’ : if(function_exists(« imagegif »)) $image = ImageCreateFromGif($image_loc);break;
case ‘jpeg’:
case ‘jpg’ : $image = ImageCreateFromJpeg($image_loc);break;
case ‘png’ : if(function_exists(« imagepng »)) $image = ImageCreateFrompng($image_loc);break;
case ‘bmp’ : if(function_exists(« imagewbmp »)) $image = imagecreatefromwbmp ($image_loc);break;
}
if($image)
{
$blanc = ImageColorAllocate ($image, 255,255,255);
$noir = ImageColorAllocate ($image, 0,0,0);
$gris = ImageColorAllocate ($image, 100,100,100);
$bbox = imagettfbbox($taille_police, 0,$font_loc, $texte);
switch($position)
{
case ‘hd’ ://imagettftext()
imagefilledrectangle($image,(imagesx($image)-abs($bbox[2])-3),0,imagesx($image),(abs($bbox[5])),$blanc);//crée rectangle
imagettftext ($image, $taille_police, 0, (imagesx($image)-abs($bbox[2])-1), $taille_police+4, $gris,$font_loc, $texte);break;//ecrit texte
case ‘bg’ :
imagefilledrectangle($image,0,(imagesy($image)-abs($bbox[5])-1),abs($bbox[2])+3,imagesy($image),$blanc);//crée rectangle
imagettftext ($image, $taille_police, 0, 0, imagesy($image), $gris,$font_loc, $texte);break; //ecrit texte
}
switch(strtolower($ext))
{
case ‘gif’ : imagegif($image,$image_nom_final);break;
case ‘jpeg’:
case ‘jpg’ : imagejpeg($image,$image_nom_final,100);break;
case ‘png’ : imagepng($image,$image_nom_final);break;
case ‘bmp’ : image2wbmp($image,$image_nom_final);break;
}
}
}
Voici un exemple d’utilisation.
Image originale: ![]() |
Image après l’execution de la fonction: |
Code:ecrire_texte(‘Soleil’,10,’ecrire-texte-final.jpg’,'final.jpg’,'GOTHICB.TTF’,'hd’);
GOTHICB.TTF correspond à la police Century Gothic de Windows. Il faut ajouter le chemin si le script n’est pas executé dans le même répertoire que la police (idem pour les chemin relatifs pointant vers l’image).
Le paramètre ‘hd’, pour la position, correspond à : en haut à droite
‘bg’: pour en bas à gauche
Je vous laisse modifier la fonction pour qu’elle gère hg et bd.
De même la couleur utilisée par défaut est grise. A vous de modifier ce point soit directement dans le code de la fonction soit en ajoutant un paramètre à la fonction.
Filed under: Développement Web












