Portal > Foren > PHP > PHP-Programmierung > Dynamische Bilder mit PHP ausgeben...
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 22.03.2006, 16:22 Nach oben    #1
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard Dynamische Bilder mit PHP ausgeben...

Hi,

es geht also um dynamisch erstellte Bilder.
Das funktioniert:
bild.php
PHP-Code:
<?php
$w 
200;
$h 100;
$img imagecreate($w$h);
$black imagecolorallocate($img25500);
imagefill($img00$black);
imagejpeg($img);
?>
ausgabe.php
HTML-Code:
<img src="bild.php" alt=""> 
Das funktioniert nicht (will es aber so haben
ausgabe.php
PHP-Code:
<?php
function bild() {
$w 200;
$h 100;
$img imagecreate($w$h);
$black imagecolorallocate($img25500);
imagefill($img00$black);
imagejpeg($img);
}
echo 
'<img src="'.bild().'" alt="">';
?>
Kann mir jemand helfen???

//edit: Sorry das da oben funktioniert aber das hier nicht.
PHP-Code:
<?php header("Content-Type: image/jpeg");  ?>
<html>
<head>
<title>TEST</title>
</head>
<body>
<?php
function bild() {
$w 200;
$h 100;
$img imagecreate($w$h);
$black imagecolorallocate($img25500);
imagefill($img00$black);
imagejpeg($img);
}
echo 
'<img src="'.bild().'" alt="">';
?>
</body>
</html>
__________________
Gruß
code5

Geändert von code5 (22.03.2006 um 16:31 Uhr).
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 16:30 Nach oben    #2
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Jap. Natürlich funktioniert das nicht, denn es werden ja keine image/jpeg Header, sondern text/html ect. header gesendet. Lager eine Datei nut der function bild() in eine extra Datei aus, und mache dann folgendes:
PHP-Code:
<?php
echo '<img src="bild.php" alt="">';
?>
Mehr dazu hier:
http://de2.php.net/gd
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 16:32 Nach oben    #3
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Hmmm???

Das klappt ja! Ich glaube du hast da was übersehen.?
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 16:58 Nach oben    #4
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

anstatt es in eine extra datei auszulagern müsste es auch gehen wenn du einfach die erste php-zeile entfernst und bei bild() dem Bild einen Namen gibst.

das es dann so aussieht:

PHP-Code:
<html> 
<head> 
<title>TEST</title> 
</head> 
<body> 
<?php 
function bild($bildname) { 
$w 200
$h 100
$img imagecreate($w$h); 
$black imagecolorallocate($img25500); 
imagefill($img00$black); 
imagejpeg($img,$bildname);
imagedestroy($img);

echo 
'<img src="'.bild('bild.jpg').'" alt="">'
?> 
</body> 
</html>
müsste denk ich vom logischen her funktionieren. Ich arbeite zwar immer mit PNGs aber das wird ja nicht anders sein denke ich mal.
Skinwalker ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 18:26 Nach oben    #5
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard

@skinwalker:
das dürfte nicht funktionieren, weil für den HTML-Kram ein anderer header geschickt wird, als für die Grafik geschickt werden muss!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 18:33 Nach oben    #6
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Zitat von Jann Hendrik
@skinwalker:
das dürfte nicht funktionieren, weil für den HTML-Kram ein anderer header geschickt wird, als für die Grafik geschickt werden muss!
So habe ich es auch in Erinnerung. Außerdem zeugt es nicht von gutem Stil.
Siehe meinem Post weiter oben - Datei als .php auslagern, und gut ist.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.03.2006, 22:50 Nach oben    #7
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

zeugt von schlechtem Stil? ihr habt da wohl irgendwas übersehen

es gibt generell 2 Möglichkeiten bilder in php zu erstellen, entweder so ausgabe einer php-datei wie von euch vorgeschlagen durch eine extra php-datei mit passendem header.

die zweite möglichkeit habe ich vorgestellt, als da wäre die Möglichkeit das Bild im Verzeichnis unter einem Namen zu speichern und darüber auf das das Bild zuzugreifen. Dafür braucht man keine Header und nichts.

wer was nutzt ist jedem selbst überlassen. allerdings habe ich einen kleinen fehler eingebaut..so ist es richtig:

PHP-Code:
 <html> 
<head> 
<title>TEST</title> 
</head> 
<body> 
<?php 
function bild($bildname) { 
$w 200
$h 100
$img imagecreate($w$h); 
$black imagecolorallocate($img25500); 
imagefill($img00$black); 
imagejpeg($img,$bildname);
imagedestroy($img);

$bildname 'bild.jpg';
bild($bildname);
echo 
'<img src="'.$bildname.'" alt="">'
?> 
</body> 
</html>
Skinwalker ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 06:39 Nach oben    #8
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Erst mal danke,

aber das ist auch nicht das wahre. In diesem fall wird ja das Bild auf dem Server gespeichert. Das ist nicht gut! Meine überlegung war eine Klasse zu schreiben, die rund um Grafikalles können soll. z.B.: Bild in s/w wandeln oder thumb erstellen oder schatten hinzufügen... Also das Bild zu manipulieren ohne es zu überschreiben oder neu abzuspeichern.
Und das würde ich dann gerne so aufrufen
PHP-Code:
echo '<img src="'.$GrafikKlasse->watermark("einbild.jpg").'" alt="">'
Versteht ihr was ich meine? Und deswegen möchte ich es in der gleichen datei machen. Denn jede Funktion in eine einzeilne *.php-Datei auszulagern, finde ich dann doch etwas stressig.

Geht so etwas nicht???
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 09:54 Nach oben    #9
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard

dann versuch mal eben von 30 Bildern ein thumbnail zu erstellen.
Die dazu nutzbare Funktion findest du hier.


Fällt dir dabei auf, dass das schon ne Weile an Zeit bedarf?

Nun stell dir vor, du willst noch jeweils einen Rahmen und ein Wasserzeichen einfügen, aber die Ergebnisse nie speichern.

Du weißt, worauf ich hinaus will? Das kostet dich jedesmal kräftig Performance!
Warum nicht die Bilder speichern, wenn sie einmal erstellt sind und danach genauso wieder erstellt werden würden?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (26.05.2007 um 12:41 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 10:00 Nach oben    #10
Benutzer
 
Registriert seit: 12.12.2005
Beiträge: 49
Standard

Ja das sehe ich ein. Hab schon ein wenig erfahrung mit Thumbs gemacht.
Aber wenn man nun mal nur ein bestimmtes Bild für einen Artikel verschönern möchte oder so... wäre sowas doch nicht schlecht.
Aber gut. Ist das eingentlich möglich ein bild zu überspeichern??? Also ich habe ein bild.jpg, das bearbeite ich und überspeiche das bild. Dann hab ich mein Ziel auch erreicht und habe nicht unnötig 2 Bilder auf dem Server.
__________________
Gruß
code5
code5 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.03.2006, 10:41 Nach oben    #11
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

das geht wenn dein script dateien in dem verzeichnis erstellen darf dann darf es (soweit ich weiß) auch dateien überschreiben.
Skinwalker ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten von einem Server ausgeben und auf anderem einlesen - PHP Jan PHP-Programmierung 15 05.07.2007 18:53
Bilder in MySQL speichern und ausgeben Binary PHP-Programmierung 2 28.05.2007 20:19
CPU / RAM - Last per PHP ausgeben cspiegl PHP-Programmierung 2 27.12.2006 18:16
PHP Bilder verkleinern robo47 PHP-Programmierung 30 25.09.2006 19:50
Beitrag: #1 PHP Script für Bilder ... Jan PHP-Programmierung 10 05.04.2006 08:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:47 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44