J'essaie de rendre le texte aligné au centre d'une boîte en utilisant imagettftext() et une police Arial Bold standard.PHP GD - Décalage texte différent Mac vs Linux
Je développe le code sur un Mac et le texte s'aligne au centre d'une boîte comme je l'aurais cru. Mais alors je déploie mon code sur un vrai serveur Linux et il semble que l'origine du rendu du texte soit différente et que le crénage soit désactivé.
J'ai confirmé que je suis sur la dernière et la plus grande version de php et php gd sur les deux machines.
Voir un exemple images ci-dessous:
C'est ce qui se passe sur mac
C'est ce qui se passe sur linux
Ma question a quelqu'un l'expérience de ce avant et savoir d'un correctif ou solution de contournement pour ce problème sans devoir recourir à juste compenser le texte de quelques pixels sur le serveur Linux. Ou y at-il quelque chose qui me manque quand il s'agit de rendre le texte avec la fonction ci-dessus?
EDIT: J'utilise imagettfbbox() pour obtenir la taille du texte que je rends pour le centrer correctement (j'ai aussi essayé le rendu fictif en utilisant imagettftext() pour obtenir le cadre englobant, le problème semble être l'origine imagettftext() rend trop étrange)
EDIT 2: Peut-être est-ce une différence entre les implémentations de freetype? bien que j'espère qu'ils utilisent la même base de code
Ne serait-une solution juste de détecter si vous utilisez Linux et d'ajuster en conséquence le décalage? –
Eh bien, j'ai essayé, mais si vous regardez la photo de Linux, vous pouvez voir que le nombre 30 est plus proche de la ligne, puis dire le numéro 1 et tout pousser par exemple 2 pixels réels ne fonctionne que pour la première moitié et non la seconde moitié – Tristan