• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

image Funktionen, imagestiring()

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
Hi Community.

Ich bastel grad an meinem Gästebuch und habe mir nun gedacht, einige Statistiken grafisch auszugeben. Da ich es sehr umständlich finde, elend große Tabellen zu generieren, die dann entsprechend aussehen (<=das war mein erster Versuch, jaja) möchte ich nun gleich ein Bild per PHP generieren.

Nun hab ich kaum angefangen und steh vor meinem ersten Problem (ich gebe auch gerne zu: ich arbeite zum ersten mal mit den Image-Funktionen).

Ich möchte einfach zu Testzwecken etwas auf das Bildschreiben:
PHP:
<?php
error_reporting(E_ALL);
header ("Content-type: image/gif");
$image = @ImageCreate (640, 400);
$background_color = ImageColorAllocate ($image, 114, 101, 70);
$color = ImageColorAllocate ($image, 200, 200, 200);
imagefill($image,0,0,$background_color);
imagestring($image,"verdana",10,40,"test",$color);
ImageGIF($image,"test.gif");
?>
<img src="test.gif" width="640" height="400" style="border:1px solid #a88e4c;" alt="">

Soweit so gut, dass Funktioniert, doch würde ich gerne die Schriftgröße ändern :). Hab bis jetzt nur imagefontheight() und imagefontwidth() gefunden, aber damit geht das glaub ich nicht (Die funktionen sind auf php.net echt mangelhaft dokumentiert - kennt jemand dafür eine besserer Seite?)

greez
 
danke euch beiden.

Ich schau mir mal an wie auf selfphp der Teil dokumentiert ist.

Imagettftext habe ich auch gefunden, wollte es allerdings anders lösen, denn jetzt muss ich ja immer die Schriftart mit uploaden. Aber gut, besser als keine Lösung und anscheinend geht es ja nicht anders.

So nun gleich weiter, um den benötigten platz zu erhalten habe ich imagettfbbox benutzt. Ich bekomme allerdings minuswerte zurück?! Ist das normal? und wie gehe ich damit um

PHP:
$platz = imagettfbbox (10,0,"../fonts/verdana.ttf","TestText");
Code:
Array
(
    [0] => -1
    [1] => -1
    [2] => 52
    [3] => -1
    [4] => 52
    [5] => -10
    [6] => -1
    [7] => -10
)
 
PHP: imagettfbbox - Manual

Klar ist das normal, da sollte sogar so sein, wenn die Punkte relativ zum text stehen, dann ist der obere Punkt auf -1/-1 du musst dir das Ganze wie ein Koordinatenkreuz denken.. von -1 bis 52 sind es 53 Werte, also ist dein String 53 Pixel (ich hoffe mal es wird in px gemessen) lang und 9 Pixel hoch..
 
danke ich habe jetzt alles hinbekommen. Das Ergebnis sieht so aus
test.jpg
Allerdings ist der Code so umständlich dass ich ihn nocheinmal schreiben werde, denn ich blicke da selber nicht mehr ganz durch :oops:

Aber auf jedenfall Danke für eure Hilfe
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben