PNG mit Text versehen

Driver78

Lt. Junior Grade
Registriert
Feb. 2005
Beiträge
412
Guten Abend,

ich hoffe ich bin hier Richtig. Und zwar geht es um folgendes, ich habe ein Grafik erstellt, die meine gefahrenen KM anzeigen soll.

images.php


Nun möchte ich aber nicht immer wieder den Umweg über das Bildbearbeitungsprogramm gehen, sondern möchte einfach durch editieren einer Datei (txt, php, png oder was weiß ich) diesen Wert anpassen und die Grafische Ausgabe über eine png Datei machen.

Ich weiß, zur Zeit ist es eine jpg!

Ist dieses möglich, wenn ja wie? Oder kann mir jemand soetwas auf die Schnelle Basteln?

Vielen Dank
 
Wieso unbedingt als Bild und wo soll das Bild angezeigt werden?

Man könnte bspw. ne HTML-Seite basteln. Die kannst du dann einfach mit Notepad editieren.
Ich behaupte mal, dass das Erzeugen eines Bildes die komplizierteste Lösung ist.
 
Mit CSS ist das möglich, damit kannst du den Text auf das Bild legen. Jedoch kann es sein das der Text sich bei verschiedenen Auflösungen verschiebt.
 
Back2Roots schrieb:
Ich behaupte mal, dass das Erzeugen eines Bildes die komplizierteste Lösung ist.

Ach, mit den richtigen Werkzeugen ist das doch gar kein großer Aufwand.
Mit imagemagick ist es ein einziger Befehl.

Code:
#!/bin/sh
#DIST=120
DIST=`cat kilometerzahl.txt` # oder eben aus einer datei
convert fahrrad_vorlage.png -font "Helvetica-Bold" -pointsize 30 -draw "text 370,100 '${DIST} km'" fahrrad.png
-->
ztyvy5ht.png








Mit PHP geht es z.B. so:
Code:
<?php
$img = imagecreatefrompng("fahrrad_vorlage.png");

$text = "120 km";
$black = imagecolorallocate($img, 0, 0, 0);
imagestring($img, 5, 370, 100, $text, $black);

// etwas huebscher, aber dann muss man noch die Schriftart als
// .ttf dazu abspeichern
//$font = "arial.ttf";
//imagettftext($img, 30, 0, 370, 100, $black, $font, $text);

header("Content-Type: image/png");
imagepng($img);
?>


Als "leere" Vorlage habe ich das folgende Bild verwendet und als "fahrrand_vorlage.png" abgespeichert:
mzdei8aq.png
 
Zuletzt bearbeitet:
Guten Morgen,

Schade, habe mich schon auf ein Positives Ergebnis gefreut, schon alleine wegen @Troublegum seinem Post.

Doch leider bekomme ich nur einen Fehler angezeigt:

"Die Grafik http://www.***.de/cycle/km.php kann nicht angezeigt werden, weil sie einen Fehler enthält"

Habe den Code in die km.php eingefügt auf meinem VServer, doch ohne Erfolg. Freigaben waren gesetzt, und die png eingefügt.


[Update]

Habe am frühen morgen mein Gehirn doch noch eingeschaltet bekommen. Und mit Google zur Lösung gefunden. Habe nun den folgenden Code verwendet:

PHP:
<?php
	
header('Content-type: image/png');
$text = "100km"; //Zufallszahl
$img = imagecreatefrompng('fahrrad_vorlage.png'); //Backgroundimage
$color = imagecolorallocate($img, 0, 0, 0); //Farbe
$ttf = "DS-DIGIT.TTF"; //Schriftart
$ttfsize = 40; //Schriftgrösse
$angle = 0;
$t_x = 370;
$t_y = 128;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);

?>

Vielen Dank an der Stelle nochmal! :D

[/Update]
 
Zuletzt bearbeitet:
Zurück
Oben