Delphi-PRAXiS
Seite 1 von 2  1 2      

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/...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Seite 1 von 2  1 2      

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