SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.03.2007, 16:02:20
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Soeren befindet sich auf einem aufstrebenden Ast
Bild Countdown

Hallo SelfPHP-Anhänger,
ich war ja nun schon länger nicht mehr hier, aber heute plagt mich eine Idee, wo ich noch nicht weiß, wie ich sie umsetzten soll.

Ich hab eine Grafik: Grafik.jpg

auf dieser Grafik möchte ich zum Beispiel einen Dynamischen Text darstellen, zB "noch 380 Tage bis Ostern".
Dieser Text ändert sich natürlich täglich.

Der Countdown sollte kein Problem sein, darum geht es mir auch nicht.

Mir geht es datum wie ich den Text auf das Bild bekomme?
Benötige ich dafür Imagecopy?
oder brauch ich eine PHP mit Header/mime jpg?

Ich weiß da im moment nicht weiter...
Über einen Tipp, Denkanstoss wäre ich sehr dankbar.
Mit Zitat antworten
  #2  
Alt 28.03.2007, 16:48:42
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel befindet sich auf einem aufstrebenden Ast
MatMel eine Nachricht über ICQ schicken
AW: Bild Countdown

Für Grafiken kannst du die GD Library nutzen, die auf den meisten Servern, die man so mit php mietet, mit drauf ist.

Einen Überblick: http://at.php.net/manual/de/ref.image.php
Für dich wird dann die Funktion imagepstext() interessant.
Näheres findest du auch im Praxisbuch.
Mit Zitat antworten
  #3  
Alt 28.03.2007, 17:33:56
bernhard3105 bernhard3105 ist offline
Anfänger
 
Registriert seit: Dec 2004
Beiträge: 65
bernhard3105 befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Setze das Bild als Hintergrundbild zB. in ein <table> und schreib den Text einfach drauf.
Mit Zitat antworten
  #4  
Alt 29.03.2007, 08:30:48
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Soeren befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Danke @ MatMel
Werde mir die Funktionen mal anschauen.

@bernhard:
Danke für den Tipp. Da ich die Grafik nicht nur auf meiner Seite nutzen möchte, sondern zB von externen seiten darauf verlinken möchte finde ich die Anstösse von MatMel besser :)
Aber dennoch Danke

So, hab mir das mal angeschaut und folgenden Code erstellt:

PHP-Code:
<?php
Header 
("Content-type: image/png");
$grafik grafik2.jpg;
$col1   ImageColorAllocate ($grafik255255255);
$col2 ImageColorAllocate ($grafik000);

$font=ImagePsLoadFont("bchbi.pfb");

ImagePsText($grafik"Test - Es geht!",
$font32$col1,$col223232);
ImagePsFreeFont($font);
Imagepng($grafik);
ImageDestroy ($grafik);
?>
Die Font Datei ist vorhanden, musste ich erst eine suchen... Muss man die unbedingt haben oder gibt es auch Standartschriften oder kann ich auch TTF Dateien nehmen?!


Ausgegeben wird:
Zitat:
Die Grafik "../test2.php" kann nicht angezeigt werden, weil sie Fehler enthält.
Was mach ich falsch... bzw. was versteh ich daran nicht?!

Geändert von Soeren (29.03.2007 um 09:06:08 Uhr)
Mit Zitat antworten
  #5  
Alt 29.03.2007, 13:35:21
Benutzerbild von meikel
meikel meikel ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 70
Beiträge: 4.001
meikel befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Die genaue Fehlermeldung wäre hilfreich. Verschiebe den Image header so, daß er erst kurz vor der Ausgabe mit imagepng() gesendet wird, und rufe das "Imgaescript" direkt auf.
Sonst kannste den Fehlertext nicht lesen, weil das ASCII und kein PNG ist, was der Client darstellen möchte.

Ggf. liegt folgender Fehler vor (aus dem Handbuch):
Zitat:
I had to use a full path to the font file or else I received errors from t1lib. Using just a filename, I received error 14. Using ./filename I received error 2.
-> /absoluter/pfad/zu/font.pfb

Wenn Du aber TTF verwenden willst: im Handbuch würdest Du die dazugehörigen Funktionen sicher finden...

Geändert von meikel (29.03.2007 um 13:36:45 Uhr)
Mit Zitat antworten
  #6  
Alt 29.03.2007, 13:41:45
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Soeren befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Dieser Tipp dürfte Goldwert sein :)
Da steht nun einiges an Fehlermeldungen...

Zitat:
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /www/htdocs/x/test/test2.php on line 4

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /www/htdocs/x/test/test2.php on line 5

Warning: Wrong parameter count for imagepstext() in /www/htdocs/x/test/test2.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/x/test/test2.php:4) in /www/htdocs/v036980/test/test2.php on line 12

Warning: imagepng(): supplied argument is not a valid Image resource in /www/htdocs/x/test/test2.php on line 13

Warning: imagedestroy(): supplied argument is not a valid Image resource in /www/htdocs/x/test/test2.php on line 14
So, dann will ich die mal durch forsten

Geändert von Soeren (29.03.2007 um 13:51:39 Uhr)
Mit Zitat antworten
  #7  
Alt 29.03.2007, 14:08:59
Benutzerbild von meikel
meikel meikel ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 70
Beiträge: 4.001
meikel befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Zitat:
Zitat von Soeren Beitrag anzeigen
Dieser Tipp dürfte Goldwert sein :)
Da steht nun einiges an Fehlermeldungen...
So, dann will ich die mal durch forsten
Der Fehler ist allerdings das:

$grafik = grafik2.jpg;
$col1 = ImageColorAllocate ($grafik, 255, 255, 255);

GD möchte eine Resource und keinen Dateinamen.

"Tor 1":
PHP-Code:
$grafik imagecreatefromjpeg(./grafik2.jpg); 
$col1   ImageColorAllocate ($grafik255255255); 
http://de.php.net/manual/de/function...tefromjpeg.php

"Tor 2" (neues Bild):
PHP-Code:
$grafik imagecreatetruecolor(8040);
$col1   ImageColorAllocate ($grafik255255255); 
Mit Zitat antworten
  #8  
Alt 29.03.2007, 14:14:39
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Soeren befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Super!!!
Folgender Code funktioniert jetzt

PHP-Code:
<?php
//Angaben
$grafik imagecreatefromjpeg('./grafik.jpg'); 
$col1   ImageColorAllocate ($grafik255255255);  
$col2 ImageColorAllocate ($grafik000);
$font=ImagePsLoadFont("bchbi.pfb");

ImagePsText($grafik"Test - Es geht!"$font32$col1,$col23232);

// Ausgabe und Freigeben der Daten
ImagePsFreeFont($font);
Header ("Content-type: image/png"); 
Imagepng($grafik);
ImageDestroy ($grafik);
?>
Hab es jetzt auf TTF umgeschrieben und der Text komt aus einer Variablen.

PHP-Code:
<?php
//Angaben
$pfad '/www/htdocs/x/test/BRITANIC.TTF';
$text1 'erster Text';
$text2 'zweiter Text';
$grafik imagecreatefromjpeg('./grafik.jpg'); 
$col1   ImageColorAllocate ($grafik255255255);  
$col2 ImageColorAllocate ($grafik000);
//$font=ImagePsLoadFont("bchbi.pfb");

//ImagePsText($grafik, $text, $font, 16, $col1,$col2, 40, 5);

imagettftext $grafik1604545$col2$pfad$text1.'/n'.$text2);

// Ausgabe und Freigeben der Daten
//ImagePsFreeFont($font);
Header ("Content-type: image/png"); 
Imagepng($grafik);
ImageDestroy ($grafik);
?>
Wie kann ich in dem Text ein Zeilenumbruch einbauen? Hab schon einiges versucht

Hab mir jetzt wie folgt beholfen:
PHP-Code:
<?php
//Angaben

$pfad '/www/X/v036980/test/BRITANIC.TTF';
$text1 'Text A';
$text2 'Text B';
$grafik imagecreatefromjpeg('./grafik.jpg'); 
$col1   ImageColorAllocate ($grafik255255255);  
$col2 ImageColorAllocate ($grafik000);
//$font=ImagePsLoadFont("bchbi.pfb");

//ImagePsText($grafik, $text, $font, 16, $col1,$col2, 40, 5);

imagettftext $grafik1601020$col1$pfad$text1);
imagettftext $grafik1601040$col1$pfad$text2);


// Ausgabe und Freigeben der Daten
//ImagePsFreeFont($font);
Header ("Content-type: image/png"); 
Imagepng($grafik);
ImageDestroy ($grafik);
?>
Vielleicht geht es ja noch einfacher

Geändert von Soeren (29.03.2007 um 15:01:20 Uhr)
Mit Zitat antworten
  #9  
Alt 29.03.2007, 15:18:07
Benutzerbild von meikel
meikel meikel ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 70
Beiträge: 4.001
meikel befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Zitat:
Zitat von Soeren Beitrag anzeigen
Wie kann ich in dem Text ein Zeilenumbruch einbauen? Hab schon einiges versucht
Das ist Handarbeit. Mit imagettfbox die Abmessungen für den Text holen und mit dem Zielbild vergleichen. Paßt der Text rein: OK. Paßt er nicht rein, mußt Du den Text sinnvoll zerlegen und mehrfach mit imagettftext() untereinander positionieren.

Beachte dabei, daß es Buchstaben mit Unterlängen gibt, was GD früher zumindest nicht berücksichtigt hatte, wenn der Text keine Buchstaben mit Unterlängen beinhaltete. Ebenfalls ist der Zwischenraum zur folgenden Zeile (idR verwendet man 120% bezogen auf die korrekte Schriftgröße) wichtig für die Lesbarkeit.

Zitat:
Vielleicht geht es ja noch einfacher
Nein bzw. noch nicht, falls das einer mal einbauen will...

Geändert von meikel (29.03.2007 um 15:19:34 Uhr)
Mit Zitat antworten
  #10  
Alt 29.03.2007, 20:10:57
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Soeren befindet sich auf einem aufstrebenden Ast
AW: Bild Countdown

Gibt es eine Möglichkeit diese Datei als PNG/JPG/etc. aufzurufen?
also nicht als Countdown.php, sondern eher als Countdown.png

Das mit dem Text habe ich nun mit verschiedenen imagettftext gelöst.
Da die Positionen sehr verschieden sind.

Geändert von Soeren (30.03.2007 um 07:54:55 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
graustufen bild erzeugen in realtime djshj PHP für Fortgeschrittene und Experten 4 03.09.2006 03:03:38
Bild in Mail integrieren: cid Willow PHP Grundlagen 1 17.08.2006 21:41:57
bild im bild if (bild == hochstehend) phpTarzan PHP für Fortgeschrittene und Experten 5 29.01.2005 17:44:09
Ausgabe: PHP & MySQL Bildergalerie bigvillain PHP Grundlagen 5 29.05.2004 23:29:48
Bild: align=left, nächster Absatz soll unter dem Bild beginnen! mad-boy HTML, CSS und JavaScript Help! 2 24.08.2003 21:11:12


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:52:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.


© 2001-2018 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt