Ausgabe von Bildern mit Wasserzeichen ist eigentlich kein Problem.
Wenn ich das Ganze nur temporär lagern will allerdings schon.
Um das Problem mit dem Header zu umgehen erzeuge ich im Hauptscript
das Bild mit Wasserzeichen:
$file = $derbg;
$size = getimagesize($file);
$width = $size[0]; $height = $size[1];
$old_picture = imagecreatefromjpeg($file);
$new_picture = imagecreatetruecolor($width, $height);
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width, $height, $width, $height);
$transition = 40; $watermarkfile = imagecreatefrompng('images/wasserzeichen.png');
$waternarkpic_width = imagesx($watermarkfile);
$waternarkpic_height = imagesy($watermarkfile);
$watermarkdest_x = $width / 2 - ($waternarkpic_width / 2); $watermarkdest_y = 260;
imagecopymerge($new_picture, $watermarkfile, $watermarkdest_x, $watermarkdest_y, 0, 0, $waternarkpic_width, $waternarkpic_height, $transition);
$bildname="images/".$anfrage['nr'].".jpg";
imagejpeg($new_picture,$bildname,100);
und rufe dann das externe Script mit dem Header auf:
<img src='imgcr.php'>
So sieht das externe Script (imgcr.php) aus:
<?php
header("Content-type: image/jpeg");
imagejpeg($bildname);
ImageDestroy($bildname);
?>
Das Problem ist: Es wird einfach kein Bild angezeigt und es kommt auch keine Fehlermeldung ala "header already been sent".
Ich habe mir mal mittels echo in der externen Datei die Variable $bildname,die auf das Bild verweisen soll,ausgeben lassen-alles korrekt.
Also wird das Bild korrekt erzeugt,es wird vom Hauptscript korrekt auf das Bild verwiesen.
Wo steckt da der Fehler?