• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

imgPNG()

den hatte er doch von anfang an drinne, jedenfalls in dem code, den er uns gezeigt hat.

Der Header wird implizit vorher gesetzt, im Browser müsste auch noch eine Warnung zu sehen sein:
Code:
Warning: Cannot modify header information - headers already sent by (output started at C:\XAMPP\htdocs\test\testresize.php:1) in C:\XAMPP\htdocs\test\testresize.php on line 2
‰PNG  IHDR<P·ä `0PLTEÿÿ€ÿŒŒFááqÐÐhMM&ÙÙlééu½½_||>ššM²²Y§§Thh4ððxù{—IDATH‰íÐM Â@ ༶ԕ0�úƒº(9�ݹÔ#x/"xÏéª3¶Ž§Ù(.$/Ë/Bˆ´@Õïq&µÂ’ÐÈÞ��óýì@TNÜaàbwi°bv|�oœE¦5¸@Î-mbl˜û‰,OžVÇÓ½í^ÛÒóø[Rù£|[ð™Æ(ß–vš±±±±±ñß1«i7l–Ûý³ªIEND®B`‚
 
Außer er hat nicht error_reporting(E_ALL); - was ich dringenst empfehle.

Habe eigenartige Resultate Fehler im Zusammenhang mit dem Erstellen von Grafiken und error_reporting(E_ALL) erhalten (Fehler absichtlich provziert).
Das erste ist klar
PHP:
<?php
//Grafik wird angezeigt + keine Warnung oder Fehlermeldung
$testvar = $nichtvorhanden;  
header("Content-type: image/png");
  :
ImagePNG($neuesBild);
?>

Beispiel 2 ist für mich auch noch halbwegs logisch:
PHP:
//Notice: Undefined variable und Warnig wird ausgegeben, keine Grafik
error_reporting(E_ALL);
$testvar = $nichtvorhanden;  
header("Content-type: image/png");
   :

Für Beispiel 3 hab ich keine richtige Erklärung, das error_reporting wird durch den Grafikheader ausgehebelt, aber was die Grafik betrifft ?

PHP:
//im IE:keine Notice und kein Warnig wird ausgegeben
//und eine leere Grafik
//im FF: Die Grafik kann nicht angezeigt werden da sie Fehler enthält 
error_reporting(E_ALL);
header("Content-type: image/png");
$testvar = $nichtvorhanden;
   :

Fazit hieraus:
Wenn Ergebnisse diskutiert werden muß man wohl fragen mit welchen Browser diese zustande kamen.

@Tectum: Bei der Fehlersuche sollten wir uns auf dein php script zum Erzeugen der Grafik konzentrieren und diesen aus der Browserzeile aufrufen.
Mit den obigen lauffähigen Beispiel solltest du deine Grafik angezeigt bekommen, wenn du als Parameter pic dein Grafikfile einträgst.
 
das ist überhaupt nicht merkwürdig.
Der server schickt den png-header, d.h. alles was jetzt kommt stellt der browser nicht als text dar sondern interpretiert das als bild. da der text der Fehlermeldung "notice: undefined bla" kein gültiges bild ist landet also ein kaputtes bild im browser.

Wenn die Fehlermeldung vor dem png-header entsteht dann schickt der server schon effektiv text an den browser und setzt daher den standardheader text/html - wenn du in der folgenden Zeile dann deinen png header setzen willst klappt das nicht und stattdessen kommt eine meldung ala "headers already sent"
 
gut header ist ja drin und wenn ich es als bild ausgeben will ala <img src="pic.php?pic=test"> dann kommt einfach nix!
 
Testlink ist weniger wichtig als vllt. noch mal der jetzt vorhandene komplette PHP Quelltext. Denn hier könnten event. Fehler abgeleitet werden, aus dem Testlink bei PHP ja eher weniger.
 
So hier der Aktuelle Code:
PHP:
<?php
header("Content-type: image/png"); 
error_reporting(E_ALL);
$pic     = $_GET['pic']; 
$bild	= "./img/".$pic."_1.png";

$size = getimagesize($bild); 
$breite = $size[0]; 
$hoehe = $size[1]; 
$neueBreite = 60; 
$neueHoehe = intval($hoehe*$neueBreite/$breite); 

$altesBild = ImageCreateFromPNG($bild); 
$neuesBild = ImageCreate($neueBreite,$neueHoehe); 
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
ImagePNG($neuesBild);
?>
 
Funktioniert einwandfrei wenn vor dem <?php keine Zeichen sind (hier hast du einen Zeilenumbruch davor geschrieben).
Jetzt wäre doch noch interessant was im Browser ankommt (ev. auch ohne header()).
 
Juhuuuuuu es funktioniert, wie kkapsner schon sagte...da war ein Zeilenumbruch davor, ohman, da hätte man ja ewig suchen können. Ich danke euch vielmals!!!!!!

Jetzt hab ich aber das Problem, dass er mir die Bilder nicht in der vollen Qualität anzeigt, sieht aus wie comic! Da fehlen Farben und Ränderungen??!??!?!?!
 
Was sind denn "Ränderungen"?

PS: auch imageCopyResampled könnte helfen - ich glaube imageAntialias hilft nur wenn man per PHP auch wirklich zeichnet (imageLine u.Ä.).
 
Zurück
Oben