afbeelding verkleinen en watermerken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter

peter

13/11/2007 12:33:00
Quote Anchor link
Hallo php-ers,

Ik maak gebruik van een scriptje dat afbeeldingen 'on the fly' watermerkt.
Het script dat ik hier voor gebruik:


$bestand = "foto.jpg";

header('content-type: image/jpeg');

$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($bestand);
$size = getimagesize($bestand);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);

Nu zou ik echter ook de afbeelding willen verkleinen. Ik heb hier al een script voor, maar ik zou ze graag willen combineren.
Wanneer de afbeelding getoond wordt met het watermerk moet deze ook max 480 hoog zijn bijvoorbeeld.
De code die ik gebruik voor het verkleinen is:

//Waar komt het bestand vandaan?
$bronvanhetbestand = "afbeelding.jpg";

//De hoogte en breedte ophalen van het plaatje
$afmeting = getimagesize($bronvanhetbestand);

//Dit is de breedte die alle plaatjes krijgen
$doelhoogte = 480;

//Hoogte en breedte toekennnen aan nieuwe variabelen
$bronbreedte = $afmeting[0];
$bronhoogte = $afmeting[1];
$verhouding = $bronbreedte/$bronhoogte;

//De nieuwe hoogte berekenen aan de gegevens van het oude plaatje en de doel breedte
$doelbreedte = $verhouding * $doelhoogte;

//De hoogte, als het nodig is, afronden
$doelbreedte = round($doelbreedte, 0);

//Zeggen dat dit bestand een plaatje is
header('content-type: image/jpeg');

//Het plaatje inlezen in de variabele $image
$image = imagecreatefromjpeg($bronvanhetbestand);

//een nieuw klein plaatje maken met de gewenste grootte
$destination = imagecreatetruecolor($doelbreedte, $doelhoogte);

//Het nieuwe plaatje vullen met verkleinde plaatje
imagecopyresampled($destination, $image, 0, 0, 0, 0, $doelbreedte, $doelhoogte, $bronbreedte, $bronhoogte);

//Het plaatje weergeven
imagejpeg($destination);

//Het bronplaatje verwijderen
imagedestroy($image);

//Het doelplaatje verwijderen
imagedestroy($destination);

Nu is de vraag hoe ik deze beide scripts moet combineren. Alle tips zijn welkom!
Groeten Peter.
Gewijzigd op 01/01/1970 01:00:00 door Peter
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.