Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP/GD] Wieso Schrift online anders als lokal? (https://www.delphipraxis.net/121043-%5Bphp-gd%5D-wieso-schrift-online-anders-als-lokal.html)

Matze 21. Sep 2008 12:59


[PHP/GD] Wieso Schrift online anders als lokal?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich erzeuge eine PNG-Grafik, die Text enthält. Online sieht die Grafik jedoch anders aus als lokal, obwohl ich die Schriftart auf den Server geladen habe. Woran kann das denn liegen?

Die Grafiken erstelle ich so:

Code:
$text_data = imagettfbbox($font_size, 0, $font_name, $text);
$text_width = $text_data[2] - $text_data[0];
$text_height = $text_data[1] - $text_data[7];

$img_text = imagecreatetruecolor($text_width, $text_height+3);

if ($img_text)
{
   imagesavealpha($img_text, true);
   $col_transp = imagecolorallocatealpha($img_text, 0, 0, 0, 127);
   imagefill($img_text, 0, 0, $col_transp);
   
   $font_color = imagecolorallocate($img_text, 0, 0, 0);
         
   imagettftext($img_text, $font_size, 0, 0, $text_height, $font_color, $font_name, $text);
   imagepng($img_text, $file_path);
   imagedestroy($img_text);
}
Fragt bitte nicht, wieso ich $text_height+3 verwenden muss. Anders stimmte die Höhe nicht.

Im Anhang seht ihr das Ergebnis: Oben, wie es aussehen sollte und wie's lokal aussieht. Unten wie es der Server online erzeugt (zu breit).

Grüße

Bernhard Geyer 21. Sep 2008 13:01

Re: [PHP/GD] Wieso Schrift online anders als lokal?
 
Lokal wird die Displayoption "Kantenglättung" aktiv sein, auf dem Server nicht.

Matze 21. Sep 2008 13:07

Re: [PHP/GD] Wieso Schrift online anders als lokal?
 
Hi Bernhard,

achso, ohje. Das sieht wirklich danach aus. Und bei meinem Glück kann man das über PHP nicht definieren.

Bei der Funktion imagettftext() steht nur das hier:

Zitat:

Col ist der Farbindex. Verwenden Sie den negativen Index-Wert, führt das zum Aufheben des Farbüberlaufs (Antialiasing).
Doch das wird mir nicht helfen, denn ich gebe ja bereits den positiven Wert (bzw. 0) an. :?

Edit: Ok, das hängt auch nicht mit dem Parameter zusammen. Wenn ich diesen negativ mache, kann man die Schrift kaum noch erkennen.

Grüße

Dunkel 21. Sep 2008 13:20

Re: [PHP/GD] Wieso Schrift online anders als lokal?
 
Sicher, dass lokal und online die selbe Schrift verwendet wird? Das sieht nämlich nicht so aus, guck Dir mal das a und das g an!

Matze 21. Sep 2008 13:23

Re: [PHP/GD] Wieso Schrift online anders als lokal?
 
Ja, da bin ich mir sicher. Denn:

Code:
$font_name = $config['home_path'] . 'fonts/verdana.ttf';
Edit: Was mich auch wundert ist, dass die Schriftbreite online falsch ermittelt wird. Eigentlich sollte die deaktivierte Kantenglättung bei der Ermittlung der Schriftbreite einbezogen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz