| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

23-05-2009, 15:33
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
mehrfarbieger Text als Grafikausgaben, Daten aus Liste
Hi,
ich habe leider so gut wie keine ahnung von php und konte kein annähend passendes fertiges script finden.
Was am ende rauskommen soll:
Eine Grafik die mehrfarbiegen Text enthält welcher aus einer Liste bzw Datenbank Datei (oder evtl. mysql) abgerufen werden soll.
Endergebnis soll diese ausgabe sein:
Bildbreite: 468pixel, hintergrund kann auch transparent sein. die ( ) und / können auch schwarz sein.
texthöhe: 4
Aufruf:
Ausgabe eines Bildes über bewertungen.php?user=username
oder was wohl besser wäre wegen leerzeichen im usernamen:
bewertungen.php?user=user_id
Also das es so in eine Seite eingebunden werden kann:
Code:
<img src="http://.......bewertungen.php?user=user_id">
Was ich habe: ein Programm was mir Werte einer damit ausgearbeiteten Liste in ein Zeilen template ausgeben kann (also auch eine Liste die in eine mysql könte).
Es sind über 1000 User mit Bewertungen.
Ich habe auf meinen eigenen Webspace ( hostet bei ready2host.de ) wo erstmal das script und die Daten abgelegt werden sollen php5 und kann dort auch Mysql benutzen. Auch ein Cronjob wäre kein problem.
Ich habe selbst schon ein paar anfängliche klägliche versuche (einfarbiger anderer gesammt Text) gemacht mit imagestring und einem if ob es über so geht...
Aber selbst da kommt schon ein unexpectet { in zeile 16
PHP-Code:
<?php $platzhalter = "---------------------------------------------"; $textnr = 4; $textbreite = imagefontwidth($textnr) * strlen($platzhalter); $texthoehe = imagefontheight($textnr);
header ("Content-type: image/png"); $bild = imagecreate ($textbreite , $texthoehe);
$hintergrund_farbe = imagecolorallocate ($bild, 222, 222, 222); $text_farbe = imagecolorallocate ($bild, 0, 0, 0);
imagestring ($bild, $textnr, 0, 0, $userinfos, $text_farbe); imagepng ($bild);
$userinfos = {if($user==){ echo " Bitte Usernamen angeben "; } else if($user==thx-sound){ echo " thx-sound 42 - 0 - 0 "; } else if($user==sirmasterlord){ echo " sirmasterlord 30 - 0 - 0 "; } else { echo " Ungueltiger Username "; } } ;
?>
Vielleicht kann mir (bzw. dem Portal wofür ich das suche) jemand helfen.
Gruss Stefan
|

23-05-2009, 15:45
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Aber selbst da kommt schon ein unexpectet { in zeile 16
|
Dann solltest du erst mal die Grundlagen der Syntax erlernen, bevor du dich an "kompliziertere" Dinge wie dynamische Bildgenerierung heranwagst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

23-05-2009, 17:20
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
Ist es den überhaupt möglich mehrfarbiegen text in eine Grafik zu stecken bzw das alles zu machen?
Habe leider keine wirkliche Zeit nen php kurs zu machen.
War eigentlich auf der Suche nach einen einfach zu ändernden php script was meine zwecke erfüllt - es gibt ja eigentlich soviele. Nur nicht das passende.
Habe vor ein paar jahren aber meine eigene webseite immerhin mit dem include befehl gebastelt so das ich nicht auf jeder Unterseite die navigation abändern muss und auch eine zweite einfach mit ausgeben lassen kann wenn ich möchte.
]-THX-[ Sound 
Bei meiner lösung dreht sich bestimmt jeden phpler der magen um^^
Die Download einträge sind aber nur normales html ohne eine datenbank.
Gruss Stefan
|

23-05-2009, 17:35
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Ist es den überhaupt möglich mehrfarbiegen text in eine Grafik zu stecken bzw das alles zu machen?
|
Sicher ... Farbe setzen, Text ausgeben, neue Farbe setzen, Text schreiben ...
Alles mit den GD-Lib Funktionen machbar. PHP: GD - Manual
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

23-05-2009, 18:28
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
Hatt letzte Nacht schon sowas mit mehrfach imagestring versucht (ohne was drüber zu wissen) . Aber leider:
Die Grafik "http://www.thx-sound.com/bewertungfarbtest.php" kann nicht angezeigt werden, weil sie Fehler enthält.
PHP-Code:
<?php $platzhalter = "---------------------------------------------";
$textnr = 4; $textbreite0 = imagefontwidth($textnr) * strlen($platzhalter); $textbreite1 = imagefontwidth($textnr) * strlen($leer); $textbreite2 = imagefontwidth($textnr) * strlen($ausgabe1); $textbreite3 = imagefontwidth($textnr) * strlen($anfang); $textbreite4 = imagefontwidth($textnr) * strlen($ausgabe2); $textbreite5 = imagefontwidth($textnr) * strlen($trenner); $textbreite6 = imagefontwidth($textnr) * strlen($ausgabe3); $textbreite7 = imagefontwidth($textnr) * strlen($trenner); $textbreite8 = imagefontwidth($textnr) * strlen($ausgabe4); $textbreite9 = imagefontwidth($textnr) * strlen($ende);
$texthoehe = imagefontheight($textnr);
header ("Content-type: image/png"); $bild0 = imagecreate ($textbreite0 , $texthoehe); $bild1 = imagecreate ($textbreite1 , $texthoehe); $bild2 = imagecreate ($textbreite2 , $texthoehe); $bild3 = imagecreate ($textbreite3 , $texthoehe); $bild4 = imagecreate ($textbreite4 , $texthoehe); $bild5 = imagecreate ($textbreite5 , $texthoehe); $bild6 = imagecreate ($textbreite6 , $texthoehe); $bild7 = imagecreate ($textbreite7 , $texthoehe); $bild8 = imagecreate ($textbreite8 , $texthoehe); $bild9 = imagecreate ($textbreite9 , $texthoehe);
$hintergrund_farbe = imagecolorallocate ($bild1, 222, 222, 222); $text_farbe0 = imagecolorallocate ($bild0, 0, 0, 0); $text_farbe1 = imagecolorallocate ($bild1, 0, 0, 0); $text_farbe2 = imagecolorallocate ($bild2, 0, 0, 0); $text_farbe3 = imagecolorallocate ($bild3, 0, 0, 0); $text_farbe4 = imagecolorallocate ($bild4, 46, 139, 87); $text_farbe5 = imagecolorallocate ($bild5, 0, 0, 0); $text_farbe6 = imagecolorallocate ($bild6, 0, 0, 255); $text_farbe7 = imagecolorallocate ($bild7, 0, 0, 0); $text_farbe8 = imagecolorallocate ($bild8, 255, 0, 0); $text_farbe9 = imagecolorallocate ($bild9, 0, 0, 0);
imagestring ($bild1, $textnr, 0, 0, $leer, $text_farbe1); imagestring ($bild2, $textnr, 0, 0, $ausgabe1, $text_farbe2); imagestring ($bild3, $textnr, 0, 0, $anfang, $text_farbe3); imagestring ($bild4, $textnr, 0, 0, $ausgabe2, $text_farbe4); imagestring ($bild5, $textnr, 0, 0, $trenner, $text_farbe5); imagestring ($bild6, $textnr, 0, 0, $ausgabe3, $text_farbe6); imagestring ($bild7, $textnr, 0, 0, $trenner, $text_farbe7); imagestring ($bild8, $textnr, 0, 0, $ausgabe4, $text_farbe8); imagestring ($bild9, $textnr, 0, 0, $ende, $text_farbe9); imagepng ($bild0);
$trenner = " / "; $anfang = " ( "; $ende = " ) "; $leer = " "; $ausgabe1 = "thx-sound"; $ausgabe2 = "42"; $ausgabe3 = "0"; $ausgabe4 = "0";
?>
|

23-05-2009, 20:32
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Die Grafik "http://www.thx-sound.com/bewertungfarbtest.php" kann nicht angezeigt werden, weil sie Fehler enthält.
|
header()-Aufruf auskommentieren, Script direkt über die Adresszeile des Browsers aufrufen - dann bekommst du jede Menge wunderschöner Fehlermeldungen zu sehen :-)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

23-05-2009, 20:48
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
schön jetzt stehen zu mindest fehlermeldung da - aber damit kann ich nix anfangen XD
Woher soll ich wissen wie ne korrekte Dimension ist?
Ich habe einfach ein script genommen und das ganze ver mehefacht nach logischen sinn (und hoffnung).. in der hofnung das der dann das alles in ein bild mit den größen von bild0 rein haut XD
Ich weiß ja nicht wie die korrekt sein müssten *g*
aufruf: http://www.thx-sound.com/bewertungfarbtest.php
Ich glaub ich ruf die 11880 an, da werden sie geholfen?
Ist ja auch ne Fehler Auskunft
|

23-05-2009, 21:04
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Woher soll ich wissen wie ne korrekte Dimension ist?
|
Nummerische Werte grösser 0 wären vielleicht ein guter Anfang ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

23-05-2009, 21:14
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
Ich habe nacher 4 werte die je nach User verschieden sind.
usernamenlänge, und die 3 zahlenwerte.
Wobei die größe des usernamens die größte schwankung ist (etwas zwischen 2 bis 35 Zeichen. die anderen sind höchstens max. 3-4stellig
Und die Wertangabe ist dann in Pixel oder Textzeichen?
Gruss Stefan
Geändert von thx-sound (23-05-2009 um 21:17 Uhr)
|

23-05-2009, 21:56
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Ich habe nacher 4 werte [...]
|
Derzeit hast du mindestens einen ungültigen Wert ...
Also kontrolliere die Werte, mache Testausgaben.
Zitat:
|
Und die Wertangabe ist dann in Pixel oder Textzeichen?
|
Natürlich sind die Bildmaße in Pixel, dass sind sie doch fast immer und überall, wo man mit Bitmap-Grafiken arbeitet.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

24-05-2009, 13:46
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
habe mal eine grundlegende wichtige Frage zu meinen mehrfach imagesstrings da ich nichts wirklich dazu finde:
Werden die automatisch hintereinander gemacht oder landen die wie ich fürchte alle an der gleichen position (0,0) übereinander?
Also muss ich die wohl positionieren? 
Und beim positionieren gibt es dann ja das Problem der flexiblität. Es Müßte ja immer alles vorherige in der X achse zusammengerechnet werden um die position des nächsten zu ermitteln. Richtig?
Und wie geht das nun?
|

24-05-2009, 16:26
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Wenn du mit imagestring arbeitest, ist jedes Zeichen gleich breit. Die Breite eines Zeichens kannst du mit imagefontwidth herausfinden.
|

24-05-2009, 17:33
|
|
thx-sound
Registrierter Benutzer
|
|
Registriert seit: May 2009
Ort: Stuhr
Beiträge: 29
|
|
Zitat:
Zitat von PHP-Desaster
Wenn du mit imagestring arbeitest, ist jedes Zeichen gleich breit. Die Breite eines Zeichens kannst du mit imagefontwidth herausfinden.
|
Hi, hast du den rest des beitrages nicht gelesen?
ich habe 4 Werte die immer verschieden sind!
Bin nur in Schritt 1, überhaupt es hinzubekommen das ein Bild mit mehrfarbiegen Text ausgegeben wird.
Danach muss dass dann an eine datenbank zum auslesen.
Bitte antwortet in einfachen verständlichen worten mit beispiel.
Noch schöner wär die fertige lösung
Nacher sollen für über 1000 user immer einzeln auf abruf ein bild erstellt werden. Und die usernamen sind gravierend anders (3-35 zeichen) in der breite und 3 Werte die auch mit raus sollen können zwischen 1 bis 4 zeichen sein.
Kann ich es einfach so machen?
PHP-Code:
imagefontwidth($textnr) * strlen($leer$ausgabe1$anfang$ausgabe2);
usw.. ?
Ich weiß nur nicht mit welchen befehl man ansonsten das zusammenrechnen kann. Aber es sollte evtl. so gehen?
Ich brauche immernoch eine vernünftige aussage ob ansonsten die einzelnen imagestring hintereinander oder übereinander ausgegeben werden.
Wobei letzteres wohl am warscheinlichsten ist?
Gruss Stefan
|

24-05-2009, 17:50
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von thx-sound
Ich brauche immernoch eine vernünftige aussage ob ansonsten die einzelnen imagestring hintereinander oder übereinander ausgegeben werden.
|
RTFM! Schau dir im Manual an, welche Parameter die Funktion verarbeitet.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

24-05-2009, 18:00
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von thx-sound
Hi, hast du den rest des beitrages nicht gelesen?
ich habe 4 Werte die immer verschieden sind!
Bin nur in Schritt 1, überhaupt es hinzubekommen das ein Bild mit mehrfarbiegen Text ausgegeben wird.
Danach muss dass dann an eine datenbank zum auslesen.
|
Na, also haperts direkt bei den grundlegendsten Dingen bereits. Hast du denn überhaupt schon irgendwas auf dein Bild gemalt? Vorher brauchst du eh gar nicht weitermachen.
Und ja, imagestring würde immer an die gleiche Stelle schreiben, wenn du der Funktion die gleichen Koordinaten mitgibst. Damit du bei folgenden Aufrufen den nicht geschriebenen Text wieder übermalst verwendest du imagefontwidth um die neue Position zu errechnen. Und nein, dein Beispiel reicht natürlich nicht aus.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|