You are not logged in.

  • Login

1

Sunday, September 20th 2009, 1:25pm

Dynamische PHP Grafik mit Formular

Hallo,
ich verzweifle langsam an einer dynamischen PHP Grafik mit Formular ;(
Ich möchte nämlich auf eine erstellte Grafik, an bestimmten Stellen, über PHP Text einbinden. Den Text soll man über ein Formular eingeben können.
Blos wie lautet so ein Code? Ich habe schon sehr viel in Google gesucht, aber überall kamen nur 100derte Codeschnipsel, welche ich nicht zusammen bekomme :S
Wäre echt toll wenn sich jemand von euch Profis mal etwas genauer damit beschäftigen könnte, und mir villeicht so einen Code präsentieren könnte :rolleyes:
Grüße,
Jörgen

2

Sunday, September 20th 2009, 4:44pm

Moin.

Im Klartext:
Der User gibt im Formular einen Text (String) ein; z.B. "Hallo ich heisse SargTeX"
Danach wird auf einer Grafik, die bereits zuvor existierte, eben dieser Text (String) abgebildet.
Eine Beispielnutzung wäre ein Forenheader, in dem man seinen eigenen Forennamen schreiben kann.

Stimmt es so?

Wenn, dann könntest du das ganze mit CSS lösen, was aber bedeuten würde, dass sich am Bild an sich nichts ändert- dennoch wird die Schrift auf dem Bild angezeigt. Läd man sich das Bild dann aber herunter, so erhält man das Bild OHNE die Schrift.

Andernfalls dürfte das Image-Set von PHP für dich interessant sein. Hier in besonderer Weise die Funktion imagettftext().


Konnte ich helfen?

Gruß,
SargTeX

3

Sunday, September 20th 2009, 7:54pm

Erst einmal danke für die Antwort :)
Ehrlich gesagt sagt mir das nichts was du da geschrieben hast :S Tut mir leid :(
Gibts es irgendwo einen Code? Also einen ganzen Code wo das Formular + der PHP Teil schon alles da ist? Ich kann nämlich kaum PHP, dass ist mein Problem :pinch:
Grüße,
Jörgen

4

Monday, September 21st 2009, 2:51pm

Ja wenn es doch ein Tool gebe, mit vielen kleinen Knöpchen, auf die ich nur mal drauf drücken muss und mein Code ist fertig *träum*. Sowas suche ich auch schon lange :D

Also Spass beiseite. :)

SargTeX wollte ja nur mal die Rahmenbedinungen klären.

Die ich Übrigens auch noch nicht richtig verstanden habe. Halten wir zuerstmal fest was denn dein Script nun mächtiges erledigen soll.

Soll es 1. , wie SargTeX schon geschrieben:
eine Benutzereingabe einfach in ein vorhandenes Bild einfügen?
Z.b hält ein Heinzelmännchen^^ ein Schild, auf dem im normalzustand nichts draufsteht. Gibt ein Benutzer nun im eingabefeld z.b seinen Name ein steht auf dem Schild die eingabe des Benutzers.
Ein bestehendes Bild wird einfach durch Benutzereingaben verändert.

Soll es 2.
Ein komplett neues Bild generieren, in welchem die Benutzereingaben, in welcher weise auch immer, dargestellt werden? Beispielsweise gibt man "Hallo Welt!" ein und es wird ein Bild erstellt, welches Hallo Welt! in einer crazy augenkrebs blinkschrift anzeigt?


Oder was soll genau passieren. Bevor wir die Spezifikationen nicht eindeutig geklärt haben, werden wir dir nicht helfen können. Musst dich schon deutlicher ausdrücken :)

Grüße

Timo

5

Monday, September 21st 2009, 3:57pm

Danke für die Antwort :)
Ja, das erste Beispiel mit dem vorhandenen Bild wo etwas drauf geschrieben wird ;)
Grüße,
Jörgen

6

Monday, September 21st 2009, 4:33pm

Hey.

Wie gesagt, schau dire das Image-Set an. Wenn du kaum PHP-Kenntnisse hast, ist es sehr schwer, da du (soviel ich weiss) das Modul erst noch in PHP installieren muss- was nur bei einem eigenen Server und wohl kaum bei einem Webspace geht.
Wenn du einen Server hast und die Möglichkeit besteht, dass du es installierst, sag mir bescheid, dann erkläre ich dir den Rest :).

Gruß,
SargTeX

7

Monday, September 21st 2009, 5:12pm

Die GD Library, die für die Bilderfunktionen in PHP genutzt wird, ist eigentlich bei 95% der Webspace Hoster vorhanden.

Bau dir eine Datei mit dem Inhalt
<?php phpinfo ?>

Ruf sie im Browser auf und schaue ob es einen Abschnitt mit GD gibt.

Danach lass dir von SargTeX helfen ;) Ich flieg morgen in den Urlaub.

8

Monday, September 21st 2009, 6:08pm

Ja, da steht das alle Funktionen von GD verfügbar sind :thumbup:
Okey, danke das ihr mir helfen wollt :rolleyes:
Grüße,
Jörgen

9

Wednesday, September 23rd 2009, 6:38am

Ok, ich wäre dann bereit^^

10

Wednesday, September 23rd 2009, 9:28am

Hi,

Ok, ich wäre dann bereit^^


vorweg, hier gibts eine Übersicht der ganzen Funktionen welche üer die GD bereitgestellt werden:
http://de3.php.net/manual/de/ref.image.php

Du möchtest ja ein Bild an einer bestimmten Stelle mit einem dynamischen Text versehen.
Ich gehe mal davon aus, dass es sich nicht nur um 1 festes Bild handelt.
Somit muss man zu jedem Bild erstmal die Metadaten für den dynamischen Text festlegen. Heisst, dass du wissen musst, an welchen Koordinaten X/Y der Text anfangen soll und welche Schriftgröße benutzt werden soll/kann. Hilfreich wäre es dann auch wenn du weißt wieviele Zeichen man nutzen darf, damit man nicht aus dem Bereich rausschreibt. Dabei wäre es von Vorteil,w enn man eine Schriftgröße nutzt, wo alle Buchstaben die selbe Breite haben.

Wenn du diese Daten hast (kannst du in einer .ini, xml , DB etc. abspeichern) "liest du dein vorhandenes Bild ein", bzw. erzeugt eine resource.
Dafür gibt es die imagecreatefrom... Funktionen, wobei ... für den Typ steht (Bsp. JPG -> http://de3.php.net/manual/de/function.im…atefromjpeg.php)

Jetzt brauchst du nurnoch eien Funktion um den Text auf das Bild zu bringen.
Wenn du in der Übersicht nach "text" suchst, dann wirste auch ganz schnell fündig ;)

Ich würde da die Funktion nehmen die die Freetype lib nutzt.
Such einfach mal in der phpinfo, nach "Freetype". Das sollte im normalfall aktiviert sein.

Dann kannst du diese Funktion nutzen.
http://de3.php.net/manual/de/function.imagettftext.php

Falls du Schriften suchst -> http://www.fontasy.de/

Mittels image.. kannst du das Bild dann direkt im Browser ausgeben, oder in einer Datei speichern.
Auch hier steht ... für den Typ. (z.B JPEG http://de3.php.net/manual/de/function.imagejpeg.php)

Und das wars denn auch schon :)

11

Wednesday, September 23rd 2009, 1:17pm

Danke =)

Hey, damit komme ich sicher ganz gut klar :) Und wie bekomme ich die Formular Daten da hin wo bei dem Beispielcode steht "Teste..."?
Grüße,
Jörgen

12

Wednesday, September 23rd 2009, 1:45pm

Hi,

wenn du eine Form absendest du kannst du es entweder via Post oder Get machen ... da trägst du denn einfach die variabel des globalen Arrays ein ;)

13

Wednesday, September 23rd 2009, 4:29pm

Gut, aber dieser Script hier funktioniert nicht:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
<?php
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "/path/arial.ttf",
"Teste... Omega: Ω");
ImageGif ($im);
ImageDestroy ($im);
?>


Die schwarze Grafik wird angezeigt, blos keine weiße Schrift darauf :(

14

Wednesday, September 23rd 2009, 5:00pm

Der Pfad is auch richtig ...
/path/arial.ttf
?

15

Thursday, September 24th 2009, 4:26pm

Ja, der ist richtig. Ein anderer PHP profi hat sich das auch mal angeguckt, und sagte das es eigentl. funktionieren müsste :(

16

Thursday, September 24th 2009, 7:48pm

Wird eine Fehlermeldung ausgegeben?
Wenn der Pfad falsch ist, dann kommt die Fehlermeldung "Die Grafik 'xyz.php' kann aufgrund eines Fehlers nicht erstellt werden" oder sowas ähnliches.

Dennoch sollte der Pfad eigentlich falsch sein :D. Benutzt du Windows oder Linux? Bei Windows kann es gar kein /path/-Verzeichniss geben, da alles mit C:\ oder D:\ o.ä. beginnt.
Durchsuch einfach mal deine Festplatte(n) per Suche nach "*.ttf". Dann bekommst du sämtliche Schriftarten aufgelistet, die im TTF-Format sind. Dort solltest du dann auch arial.ttf finden. Nimm einfach den Pfad zu der Datei und setze ihn bei deinem Script ein, dann passts ;).

Gruß,
SargTeX

17

Friday, September 25th 2009, 2:17pm

nein geht ja nicht:D

18

Friday, September 25th 2009, 2:34pm

nein geht ja nicht:D

ahja .... :thumbsup:

entferne mal diesen Teil:

PHP Quellcode

1
header("Content-type: image/gif");


falls du immernoch nur eine weiße Seite sehen solltest, schalte das error reporting an:

PHP Quellcode

1
2
error_reporting(E_ALL);
iini_set('display_errors', true);



Kommt nicht zufällig diese Fehlermeldung ?

Quoted

Warning: imagettftext() [function.imagettftext]: Could not find/open font

:rolleyes:


Schau mal was SargTeX geschrieben hat.

Quoted

Dennoch sollte der Pfad eigentlich falsch sein :D. Benutzt du Windows oder Linux? Bei Windows kann es gar kein /path/-Verzeichniss geben, da alles mit C:\ oder D:\ o.ä. beginnt.

Similar threads

Social bookmarks