Hallo,

Ik ben bezig om een script te schrijven om een watermerk png-afbeelding op een jpg afbeelding te zetten in een img tag.
Maar ik krijg de volgende output:

����JFIF``��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality ��C    $.' ",#(7),01444'9=82<.342��C  2!!22222222222222222222222222222222222222222222222222���"�� ���}!1AQa"q2���#B��R��$3br� 


Ik begrijp niet waarom ik dit krijg.
Krijg ook geen errors.
De code is:

?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


$stamp = imagecreatefrompng('stampimg.png');
$im = imagecreatefromjpeg('flower.jpg');

$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

$imgx = imagesx($im);
$imgy = imagesy($im);
$centerX=round($imgx/2);
$centerY=round($imgy/2);


imagecopy($im, $stamp, $centerX, $centerY, 0, 0, imagesx($stamp), imagesy($stamp));



 echo '<img src=" $im " alt=""> ';
 
imagejpeg($im); 
imagedestroy($im);
?>

<img src="<?php echo $im; ?>" alt=""> 


Hoe krijg ik de afbeelding te zien met het watermerk in de img tag?

alvast bedankt
Je slaat nu een aantal planken mis:
Je mist sowieso de header() die aangeeft dat je output een afbeelding is:

header('Content-Type: image/png');

En verder hoor je jouw afbeelding apart aan te roepen vanuit een ander bestand. Je haalt nu een result op waar je niks mee kan.

Je PHP-script regelt enkel het genereren van de afbeelding, NIET het aanroepen ervan.
Bedankt voor de info, maar hoe stuur ik de bovenstaande code door naar een ander bestand?
Gewoon door je losse PHP-script in je website op te roepen als image:

<img src="afbeelding.php" alt="Bekijk deze afbeelding"> 
ik heb nu twee bestanden: image.php en index.php.
In image.php staat de code van mijn eerste bericht maar met
 header('Content-Type: image/png'); 
onder de
 imagecopy($im, $stamp, $centerX, $centerY, 0, 0, imagesx($stamp), imagesy($stamp)); 


In index.php staat :
 <img src="image.php" alt="bekijk image"> 


Ik zie nu alleen de alt tekst: bekijk image, als ik index.php open in de browser. De 2 bestanden en de twee afbeeldingen zitten allemaal in de root.

Maar ik zie geen afbeelding, hoe kan dit?
Haal de header eens weg, en open image.php in de browser?
Ik vermoed dat je dan een foutmelding ziet.
dan krijg ik dit te zien:
 ????JFIFHH??>CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality ??C    $.' ",#(7),01444'9=82<.342??C  2!!22222222222222222222222222222222222222222222222222??i C"?? ???}!1AQa"q2???#B??R??$3br?  
PNG header <---> JPEG afbeelding, dat gaat 'em sowieso niet worden.
Wat thomas bedoelt: vervang
header('Content-Type: image/png');
door
header('Content-Type: image/jpeg');
Je schrijft immers met imagejpeg($im); een JPEG weg ...
als ik dit doe dan krijg ik een zwart scherm te zien...

Reageren