[Solutionné]Modifications récentes dans la librairie GD?

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

[Solutionné]Modifications récentes dans la librairie GD?

Message par Ymai »

Bonjour
Dans une application web qui fonctionnait parfaitement en décembre 2009, je générais des images en PHP à l'aide de la libraire GD.
Sans rien changer au code de l'application hébergée chez OVH en mutualisé, je régénère certaines images et... plus rien ne va: les images sont toutes décalées, les textes qu'elles contiennent sont presque hors du champ.
Sur mon PC, les images sont toujours correctement générées.

Je fais un test rapide pour voir

Code : Tout sélectionner

<?php
$font = "inc/font/LiberationMono-Bold.ttf";
$largeur = 18;
$hauteur = 200;
$texte = "Mon joli texte vertical";
$taillePolice = '10';
$angle = 90;

$nomImage = "test.png";

$im = imagecreate($largeur,$hauteur);
    
$gris = imagecolorallocate($im,0xdd,0xdd,0xdd);
$noir = imagecolorallocate($im, 0x00, 0x00, 0x00);

imagettftext($im, $taillePolice, $angle, $largeur-10, $hauteur-5, $noir, $font, $texte);

imagepng($im, "$nomImage");
imagedestroy($im);
header("Location: test.png");
?>
En local, ça donne
Image (les paramètres sont "optimisés" pour que ça passe sur le serveur OVH)
Hébergé chez OVH, ça donne:
Image
Comme si l'alignement se faisait à l'envers, sur le haut des caractères et non sur le bas!!

Questions: y a-t-il eu une mise à jour récente de la librairie GD ? Aucune trace de cela à mon sens.
J'ai re-uploadé les .ttf pour être sûr que les fonts soient les mêmes que localement.

GD chez OVH
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
GD chez moi
gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
Quelqu'un aurait une lumière à me prêter?
Merci pour votre lecture.
Dernière modification par Ymai le 19 mai 2010, 17:53, modifié 1 fois.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Modifications récentes dans la librairie GD?

Message par calimo »

À tout hasard, as-tu essayé avec une autre fonte ?
Pour ma part je verrais plutôt un problème du côté de FreeType…
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Modifications récentes dans la librairie GD?

Message par Ymai »

calimo a écrit :À tout hasard, as-tu essayé avec une autre fonte ?
Oui, mais rien que des "Liberation".
Je vais tenter autre chose. Mais le comportement différent sur des systèmes a-priori identiques me laisse perplexe.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Modifications récentes dans la librairie GD?

Message par calimo »

Ymai a écrit :FreeType Version 2.2.1
[...]
FreeType Version 2.3.9
Freetype 2.2.1 est une version antique datant de 2006. Il n'est pas exclu qu'elle contienne un bug qui ait été corrigé dans la version 2.3.9 sortie 3 ans après ! Disons que ce serait une explication plausible, mais difficile à montrer (il faudrait recompiler pas mal de choses). En plus je suis peut-être faux…

Tu peux essayer autre chose pour voir : un angle de 270º plutôt que 90. Cela risque d'être le "j" qui sera trop haut. Là non plus ça ne vas pas nous avancer beaucoup.

Tu peux également essayer les quelques idées avec imagettfbbox qui sont suggérées en commentaire de imagettftext. Tu peux également essayer de convertir la police en postscript : avec un peu de chance le bug est spécifique au truetype.

Mais bon, le mieux serait encore probablement de demander à l'hébergeur de mettre à jour ses programmes :wink:
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Modifications récentes dans la librairie GD?

Message par Ymai »

Merci pour toutes les idées. Je teste cela dès que possible.
calimo a écrit :Mais bon, le mieux serait encore probablement de demander à l'hébergeur de mettre à jour ses programmes :wink:
OVH??? Moi, petit microbe sur mon petit mutualisé? :roll:
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Modifications récentes dans la librairie GD?

Message par calimo »

Une bonne épidémie est faite de tout plein de petits microbes :wink:
De toutes façons ils devront bien faire une mise à jour à un moment ou à un autre :roll: Même s'ils le ne font pas, ce serait intéressant de leur demander ce qu'ils ont MàJ récemment pour avoir peut-être une idée de l'origine du bug.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Modifications récentes dans la librairie GD?

Message par Ymai »

Conclusions: même résultat avec une police Arial. Et même avec un angle de 270° ;o)
Allez, je m'en vais monter à l'assaut du géant de Roubaix.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Re: Modifications récentes dans la librairie GD?

Message par martin »

gogole me donne çà :
http://bugs.php.net/bug.php?id=51263

c'est un bug de PHP, enfin de leur implémentation de GD.

mais pour autant, çà ne te donne pas de solution pour contourner :s
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Modifications récentes dans la librairie GD?

Message par Ymai »

Génial! Merci.
Avec ça, je peux contacter le helpdesk avec un argument de poids.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par calimo »

En même temps, ça semble affecter php 5.3.2, qui est également la dernière version (évidemment le seul truc qu'ils ont à jour :oops: ). Ils auront donc du mal à résoudre ton problème, à moins de mettre une version instable…

En tous cas chapeau pour avoir trouvé ce bug ! :shock: J'avais toujours laissé "angle" dans mes recherches et pas pensé à "rotated" :(
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par martin »

calimo a écrit : En tous cas chapeau pour avoir trouvé ce bug ! :shock: J'avais toujours laissé "angle" dans mes recherches et pas pensé à "rotated" :(
en fait j'ai cherché avec "baseline imagettftext" :)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par Ymai »

Juste pour faire un peu de bruit.
Le support OVH m'indique -sans surprise- qu'il faut passer à une version supérieure de PHP.
J'attends encore de savoir comment procéder sur un mutualisé qui est en PHP5.
Il est possible de passer en version 6 avec la directive SetEnv PHP_VER 6
Mais j'ai cru comprendre que PHP6 n'était pas la panacée pour des raisons de compatibilité de code. Et mon application est en production. Et c'est chaud...
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par martin »

arf, PHP 6 à mon avis t'oublie, son développement est même bloqué à l'heure actuelle, il me semble.

D'après les rapports de bug chez PHP, les versions stables actuelles 5.3.2 et 5.2.13 ont le bug, leurs branches respectives ont la correction.
Donc soit attendre les prochaines versions (genre 5.3.3 et 5.2.14), et que OVH fasse la mise à jour, çà risque de prendre quelques mois :s. Une autre solution, çà m'étonnerait pas que OVH compile eux-même leur PHP, tu peux peut être leur suggérer dans ce cas d'appliquer le patch (il est dans le rapport de bug).

Désolé, j'ai pas vraiment d'autres idées...
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par Ymai »

OK merci.
L'astuce pour passer en PHP 5.3 m'avait échappé dans les guides.
SetEnv PHP_VER 5_TEST
J'ai essayé. :evil:

Ça donne Image au lieu de Image
Et, en plus, j'attrape quelques messages d'erreur à gauche et à droite, ailleurs dans le code (preuve que j'ai encore un peu de pain sur la planche en prévision de PHP 5.3)

Quant à suggérer de patcher, c'est fait. Avec l'adresse du lien et toussa. Mais bon... Il en faudra encore une bonne palanquée de rapports de bug avant qu'ils ne se bougent.
Je vais donc générer les imagettes gentiment chez moi quand c'est nécessaire; puis les envoyer par FTP.
Et me replonger dans les suggestions de Calimo.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Comersis

Re: [Solutionné]Modifications récentes dans la librairie GD?

Message par Comersis »

Bonjour,

Une solution simple qui marche sous "60gp" :

renommer votre script php qui génére l'image :

image.php -> image.php5

N'oubliez pas de modifier aussi l'appel de cette image php :

<img src="image.php5">

yawp ! :mrgreen:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité