Bonjour,
Je souhaite migrer mon site en php 7.2.10.
Dans certains de mes scripts, j'utilise les fonctions "imagettfbbox()" et "imagettftext()".
Ces fonctions marchent très bien sous php 5.6.36 et php 7.0.32 mais ne marchent plus sous php 7.1.22 et php 7.2.10.
J'obtiens les messages d'erreur suivants:
Warning: imagettfbbox(): Could not find/open font in C:\wamp\www\MS\Dipl.php on line 93
Warning: imagettftext(): Could not find/open font in C:\wamp\www\MS\Dipl.php on line 96
Voici un extrait de mon code qui montre ces lignes 93 et 96 (lignes 14 et 19 de mon extrait ci-dessous):
Je vous montre mon code... Mais je doute que le problème vienne de là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $IT='imagettftext'; $DCL=$_POST['CertifLevel']; $FF='MS/AAA/ARIALUNI.TTF'; $S1=60; $S2=50; $S3=24; $S4=13; $DFileW=996; $Dipl=imagecreatefromjpeg("MS/AAA/Dipl0.jpg"); $TiC=imagecolorallocate($Dipl, 255, 255, 255); $TeC=imagecolorallocate($Dipl, 0, 0, 0); $Txt=$_POST['CertifLevel']; $FS=$S1; $Box=imagettfbbox($FS, 0, $FF, $Txt); $Size=abs($Box[0])+abs($Box[2]); if ($Size>896) {$FS=round($S1*890/$Size); $Box=imagettfbbox($FS, 0, $FF, $Txt);} $X=round(($DFileW/2)-((abs($Box[0])+abs($Box[2]))/2)-2); $Y=103; $IT($Dipl, $FS, 0, $X, $Y, $TiC, $FF, $Txt); $X=$X+1; $IT($Dipl, $FS, 0, $X, $Y, $TiC, $FF, $Txt);
C'est le seul fait de changer de version de php qui me donne des messages d'erreur.
Evidement, je suis allé voir sur le manuel officiel de php:
http://php.net/manual/fr/function.imagettfbbox.php
Mais je n'ai rien trouvé qui puisse vraiment m'éclairer... à part peut-être cette note:
"Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR )"
Mais pourquoi donc le support Freetype aurait été supprimé sous php 7.1 et plus?
Comment vérifier si cela est vraiment le cas?
Ou y aurait-il une autre raison à cette panne?
Partager