Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP]Bild dynamisch erzeugen (https://www.delphipraxis.net/34603-%5Bphp%5Dbild-dynamisch-erzeugen.html)

freak4fun 25. Nov 2004 12:29


[PHP]Bild dynamisch erzeugen
 
Hallo!

Wie der Titel schon sagt, möchte ich mit dynamische Bilder mit PHP erzeugen.
Ich hab jetzt hier das Tutorial von Titus Titus' Tutorial gelesen und das erste Beispiel getestet. Aber ich hab nur Textausgabe. :wall:
Dann hab ich mal in den einstellungen von XAMPP geguckt, aber nur die "php_gd2.dll" gefunden, statt der "php_gd.dll", aber ich hab gelesen das sei seit PHP4.3.2. so. Sie ist auch in der php.ini aktiv.

Was muss ich noch beachten? :gruebel:

mfg
freak

titus 25. Nov 2004 13:12

Re: [PHP]Bild dynamisch erzeugen
 
Hast du das auch gelesen?
Zitat:

Zitat von Aus meinem Tutorial
#
# Seit Version 1.6 der GD-Library ist .gif abgeschaltet also:
#
#---------------------------------------------------
# Zuhause von der GD-Lib: http://www.boutell.com/gd/
#---------------------------------------------------
#
# Wenn ihr die GD-Library 2.0 habt immer .jpg oder .png aber kein .gif benutzen!
#
# So kann man GD-Library einstellen:
#
# 1. Öffnet im Windows-Ordner die php.ini z.B. C:\Windows\php.ini
#
# 2. Jetzt sucht (STR+F) nach ';Windows Extensions' (ohne den Hochkommata)
#
# 3. Dann schreibt 'extension=php_gd2.dll' unter 'extension=php_gd.dll'
#
# 4. Jetzt macht ein; vor 'extension=php_gd.dll'. Also aus 'extension=php_gd.dll' mach ';extension=php_gd.dll'
#
# 5. Oder wenn ihr GD-Lib 1.X wollt, dann macht es umgekehrt
##################################################

Also GD2 sollte man auch benutzen ;)

Ja ist die Textausgabe unverständliche ASCII-Zeichen oder richtiger Text?

mfG

freak4fun 25. Nov 2004 15:01

Re: [PHP]Bild dynamisch erzeugen
 
ne hab ich nicht, aber ich hatte es gemacht. die gd2 ist vorhanden und ist auch kein semikolon vor

geht aber trotzdem nicht

mfg
freak

jfheins 25. Nov 2004 15:16

Re: [PHP]Bild dynamisch erzeugen
 
Erstmal sag uns doch, ob ein Fehler gemeldet wird, wenn ja, welcher.
Falls kein Fehler gemeldet wird, sag, was er macht und nicht soll bzw. was er nicht macht aber machen soll.

Wenn ich mir jetzt deinen ersten Post nochmal durchlese, wäre es möglich hineinzuinterpretieren, dass er statt dem Bild nur wirre, unverständliche ASCII-Zeichen anzeigt. in diesem Fall musst du sicherstellen, dass der Browser auch mitgeteilt bekommt, dass er jetzt keinen Text, sondern ein Bild darstellen soll ...

freak4fun 25. Nov 2004 15:34

Re: [PHP]Bild dynamisch erzeugen
 
hallo,
ok nochmal:
Ich hab nen XAMMP-Server damit PHP funktioniert. Es läuft PHP5. Die 'extension=php_gd2.dll' ist an.
Quellcode in der test.php:
Code:
<?php
  header ("Content-type: image/png");
  $mein_bild = ImageCreate (300, 150);
  $blau = ImageColorAllocate ($mein_bild, 21, 0, 177);
  imageFilledRectangle($mein_bild,20,20,280,130,$blau);
  ImagePNG ($mein_bild);
  ?>
und ausgegeben wird:

"‰PNG  IHDR,–^•'‘PLTE±ñß[IDATxœíÁ  ÷Om7 àÉÚóBÖIEND®B`‚" auf der seite.

Keine Fehler.

<-- bin etwas genervt wegen dem kram und diesem Post: :gruebel: -->

mfg
freak

fiasko 25. Nov 2004 15:41

Re: [PHP]Bild dynamisch erzeugen
 
Hallo,

entferne mal das schließende '>?'. Ich weiß nicht warum die Leute das immer am Ende einer Datei hinschreiben... das ist dort nämlich total überflüssig und beschehrt die evtl. ein CRLF welches dir das Image zerhaut :gruebel:.

Der Code sieht ansonsten richtig aus (verwende ich selber so).

freak4fun 25. Nov 2004 15:54

Re: [PHP]Bild dynamisch erzeugen
 
huhu,
ich habs :mrgreen:

ich hab in die <?php Hier wird das bild erzeugt ?> direct im body. Aber wenn ich diese zeilein einer anderen html Datei einfüge:
[img]test.php?[/img]
gehts.

Wie kann ich es noch nutzen? :gruebel:

mfg
freak

jfheins 25. Nov 2004 16:15

Re: [PHP]Bild dynamisch erzeugen
 
Tja, du musst dir eine extra PHP-Datei für die Bilder basteln, und die dann per img-Tag einbinden.
anders gehts nicht.
das Bild wird nämlich nur als Bild ausgegeben, wenn kein Text ausgegeben wurde ...

Wenn du umbeding eine Datei brauchst, machh es so:
Code:
<?
if (isset ($bild) && $bild != "")
{
  Bild aus $bild ausgeben
  exit;
}

...

echo '[img]' . $PHP_SELF . '?bild=hallo.gif[/img]';

...
?>

Airblader 25. Nov 2004 17:12

Re: [PHP]Bild dynamisch erzeugen
 
[img]...?bild=bla.gif[/img]

dürfte nicht gehen, da es auf eine seite und nicht auf ein bild verweist.

air

jfheins 25. Nov 2004 17:30

Re: [PHP]Bild dynamisch erzeugen
 
Zitat:

Zitat von Airblader
[img]...?bild=bla.gif[/img]

dürfte nicht gehen, da es auf eine seite und nicht auf ein bild verweist.

air

Tja, aber woher weis der Browser, dass es eine Seite oder ein Bild ist?

Lass mich raten: einfach so ... :roll:

Was passiert eigentlich an dieser Stelle ?
:arrow: Der Browser findet einen img-Tag.
:arrow: Der Browser findet das scr="" Attribut, und sendet einen Request, in der Hoffnung, etwas zu bekommen, was sich als Bild darstellen lässt.
:arrow: Er will also ".../gallery.php?bild=hallo.gif" haben, weil das in dem src-Attribut steht
:arrow: Das PHP-Script wird aufgerufen, und interpretiert
:arrow: Der Output des PHP-Scriptes wird an den Browser gesendet.
:arrow: Der Browser empfängt die Daten und zeigt sie an.

Dumm nur, dass bei PHP-Scripten normalerweise ein Befehl gesendet wird,
der dem Browser sagt, dass das was da jetzt kommt, HTML-Text ist. (MIME: text/HTML)
Wir wollen jedoch ein Bild ausgeben. Da das kein HTML ist, senden wir folgenden Befehl vorweg:
Code:
header ("Content-type: image/png");
Und, oh Wunder, der Browser versucht das, was bei ihm ankommt, nicht mehr als HTML zu interpretieren,
sondern, wie in dem Befehl sagt, als Bild. In diesem speziellen Fall wird versucht, die Daten als PNG-Bild zu verarbeiten.

Bei normalen Bilddateien wird dieser sog. Header standartmäßig gesendet, so dass wenn du ein PNG downloadest,
der Server automatisch einen PNG-Bild_Header versendet.

Daher kann man alles im src-Attribut angeben, es muss jedoch ein entsprechender Bild-Header gesendet werden. (MIME: image/...)

freak4fun 26. Nov 2004 08:58

Re: [PHP]Bild dynamisch erzeugen
 
huhu,
einen riesen dank erstmal an euch. :hello:

Also in der Anleitung steht das mit der 2. Version .gif nicht mehr unterstützt wird. :cyclops:
Heisst das, dass ich nicht 2, oder mehr Bilder in einer .php-Datei speichern kann? :gruebel:
Das ist mir noch nicht so ganz klar. Wenn ich jetzt z.B. möchte das beim ersten aufruf einer Seite das Bild grün ist und wenn die Seite schon besucht wurde rot. Also das es das gleiche bild ist nur mit einer anderen Farbe. :wiejetzt:

thx und mfg
fR34k

fiasko 26. Nov 2004 09:22

Re: [PHP]Bild dynamisch erzeugen
 
Hallo,

Zitat:

Zitat von freak4fun
Also in der Anleitung steht das mit der 2. Version .gif nicht mehr unterstützt wird. :cyclops:
Heisst das, dass ich nicht 2, oder mehr Bilder in einer .php-Datei speichern kann? :gruebel:

Das kapiere ich grad nicht - was hat denn die Aussage über das GIF-Format mit der Anzahl der Bilder zu tuhen? :gruebel:

Du speicherst doch keine Bilder in der PHP-Datei sondert baust die dort zusammen und gibst sie aus. Also kannst du da auch einfach ne andere Farbe nehmen...

freak4fun 26. Nov 2004 09:29

Re: [PHP]Bild dynamisch erzeugen
 
Hat nichts mit einander zu tun. :pale:

Und wie steuer ich die einzelnden bilder an?

mfg
freak

fiasko 26. Nov 2004 09:32

Re: [PHP]Bild dynamisch erzeugen
 
Hallo,

Zitat:

Zitat von freak4fun
Und wie steuer ich die einzelnden bilder an?

kapier ich immernochnicht wo dein Problem liegt. Du hast doch oben den lustigen PHP Code... da kannst du doch nach Lust und Laune z.B. das definieren der Farbe so abändern das es von irgendetwas abhängt?!

freak4fun 26. Nov 2004 09:48

Re: [PHP]Bild dynamisch erzeugen
 
Also ich öffne eine Seite. Da steht [img]bilder.php[/img] drin. Wenn ich jetzt in der bilder.php <?php bild ?> und <?php bild1 ?> stehen hab, kann das bild nicht angezeigt werden.
-> Muss ich jedes Bild in einer PHP datei haben?

mfg
freak

fiasko 26. Nov 2004 09:51

Re: [PHP]Bild dynamisch erzeugen
 
Zitat:

Zitat von freak4fun
Wenn ich jetzt in der bilder.php <?php bild ?> und <?php bild1 ?> stehen hab, kann das bild nicht angezeigt werden.
-> Muss ich jedes Bild in einer PHP datei haben?

Ist die Frage wirklich ernst gemeint? Schon mal probiert 2 Bilddateien aneinanderzuhängen und dann anzuschauen (z.B. mittels copy bild1.png bild2.png bilder.png) - das funktioniert natürlich nicht!

freak4fun 26. Nov 2004 10:13

Re: [PHP]Bild dynamisch erzeugen
 
Entschuldigung. :|

mfg
freak


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz