Nico: imagettftext - Buchstaben bei 90° Drehung versetzt

Hallo!

Ich erzeuge mit PHP ein Bild, auf dem ein Text um 90° gedreht dargestellt werden soll. Der Code dazu sieht so aus:

  
$bb=imagettfbbox(12,90,"arial.ttf", "Dissemination"); $width=abs($bb[1]-$bb[5]);  
imagettftext($img, 12, 90,15,250+$width/2, $black, "arial.ttf", "Dissemination");  

Das funktioniert bei mir lokal auch wunderbar. Auf dem Server, auf dem das Skript letztendlich laufen soll, werden die Buchstaben aber anders ausgerichtet. Da ist nicht die Grundlinie der Buchstaben parallel zur Vertikalen, sondern die Oberkante jedes einzelnen Buchstaben. Außerdem ist der Startpunkt nicht die untere linke Ecke des Ds, sondern die obere linke.
Hier der betreffende Ausschnitt aus dem Bild:
Die falsche Darstellung:
falsche Darstellung
Die richtige Darstellung:
richtig
Die verwendete Schriftart lokal und auf dem Server ist die selbe.

Gibt es eine Möglichkeit, das Problem zu lösen, ohne den Provider zu bitten, seinde GDLib zu aktualisieren?

Nico

  1. Hi,

    Gibt es eine Möglichkeit, das Problem zu lösen, ohne den Provider zu bitten, seinde GDLib zu aktualisieren?

    Kennst du diese Spielzeuge für Kleinkinder, die das räumliche Denkvermögen fördern sollen - wo die aus Holz einen Zylinder, ein dreieckiges Prisma und einen Quader haben, und die dann in die passenden Löcher in einem Brettchen gesteckt werden sollen?
    Dazu müssen die Kleinkinder die Dinger u.a. passend drehen, damit sie ins jeweilige Loch passen.

    Ein Kleinkind, das mit sowas spielen durfte, könnte (später) auf die Idee kommen, ein Problem wie deines einfach zu umgehen - in dem man erst den Text „normal“ von links nach rechts ins Bild schreibt, und anschließend das Bild um 90 Grad drehen lässt ...

    (Diese Idee *muss* natürlich nicht funktionieren - es kann auch durchaus sein, dass es noch ein ganz anderes Problem mit dem Rendering des Textes auf dem Server gibt. Aber zumindest einen Versuch wäre es wohl wert.)

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Danke, klappt.

      Nico