phpbar.de logo

Mailinglisten-Archive

[php] Re[2]: [php] Re[2]: [php] Re[2]: [php] TTF mit PHP4 in PNGs ?

[php] Re[2]: [php] Re[2]: [php] Re[2]: [php] TTF mit PHP4 in PNGs ?

Joerg Behrens behrens_(at)_takenet.de
Tue, 21 Nov 2000 14:58:06 +0100


Moin,

Thomas Beckmann schrieb:
> 
> --- bild.php: Enthält dies und nur dies
> <?
>    Header("Content-type: image/png");
>    $im = ImageCreate(150,30);
>    $bgc = ImageColorAllocate($im,255,255,255);
>    $tc  = ImageColorAllocate($im,255,0,0);
>    ImageTTFText($im, 10,0, 5,25, $tc, "./lib/times.ttf", "Moin");
>    ImagePNG($im);
>    ImageDestroy($im);
> ?>
> 
> ---- und der aufruf irgendwo - in einer anderen Datei, z.B. Index.htm
>    <img src=bild.php>
> 
> Das ist richtig so? Das funktioniert bei mir eindeutig nicht.
> Ich such' nämlich schon solange ich php nutze die Möglichkeit, dieses
> Feature einzusetzen, immer mit demselben unbefriedigenden Ergebnis.

Sollte genauso funktionieren. (Ich mache das mit PNG,GIF und JPEG beim)
Allerdings verwende ich TTFonts von einem Windowssystem. Desweitern
liegt die TTF Datei im selben Ordner wie das bild.php.

Als Auszug nochmal ein Snipplet wie ein Vorschaubild bei mir erstellt
wird mittels ImageCopyResized. Verwendung findet es in einem Intranet wo
die Leute Dokumente (hier Bilder) uploaden und zusaetzlich an der Stelle
wo sie ein Formular mit Zusatzinformationen angezeigt bekommen was di da
gerade hochgeladen haben. Das Bild wird bei mir auf einen Festen Wert
Skaliert den ich vorher ausrechne.

<?php
    case "png":
    Header("Content-type: image/png");
    $im_orig = ImagecreatefromPng($sid_data[s_save_location]);
    $im = imagecreate($width,$height);
    $red = ImageColorAllocate ($im, 255, 0, 0); 
    ImageCopyResized($im,
$im_orig,0,0,0,0,$width,$height,$size[0],$size[1]);
    ImageTTFText($im, 14, 0, 5, ($height - 5), $red, "verdana.ttf",
"$size[0] Pixel x $size[1] Pixel");
    ImagePng($im);
    ImageDestroy($im); 
    break;
?>

Gruss
Joerg Behrens


-- 
Key fingerprint =  92 7D E0 A6 CF AE EC 32  14 28 EF 0D 57 2A 88 5B
----------------------------------------------------------------------
TakeNet GmbH					Mobil: 0171/60 57 963			
D-97080 Wuerzburg				Tel: +49 931 903-2243				
Alfred-Nobel-Straße 20				Fax: +49 931 903-3025


php::bar PHP Wiki   -   Listenarchive