Ik heb dit script van deze site geplukt, gaaf script trouwens, alleen zou ik graag de afmetingen van het geuploade plaatje (Dus het plaatje zonder het watermerk) automatisch bijv. 100px bij 100px wordt.
<?
//--- zet path
$path = "images/"; // met slash en chmod 777! (of lager ivm veiligheid)
//--- zet max. kb's
$maxkb = 40960; // 40960 gedeelt door 1024 is 40 (kb) DUS 1024 keer <aantal kb's> = $maxkb
//--- watermerk path
$path_watermerk = "watermerk.png"; // dit MOET een transparante .png zijn!!!

//--- bekijk of het bestand kleiner of net zo groot als 40 kb is en of de foto wel geupload is en of extentie wel .jpg of .jpeg is!
if ($_POST['submit'] && $_FILES['userfile']['size'] <= $maxkb && !file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['size'] && is_uploaded_file($_FILES['userfile']['tmp_name']) && (strtolower(substr($_FILES['userfile']['name'], -3)) == "jpg" || strtolower(substr($_FILES['userfile']['name'], -4)) == "jpeg"))
{
//--- upload image naar $path
move_uploaded_file($_FILES['userfile']['tmp_name'], $path . $_FILES['userfile']['name']);

//--- transparante watermerk
$watermerk = imagecreatefrompng($path_watermerk);
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);

//--- orriginele image
$image = imagecreatefromjpeg($path . $_FILES['userfile']['name']);
$size = getimagesize($path . $_FILES['userfile']['name']);

//--- defineer de coordinaten van het watermerk - dit voorbeeld is links onder
/*
bijv: geuploade plaatje: 180 x 130
watermerk groote: 50 x 16

berekening voor coordinaten 'x' as:
180 (breedte geuploade foto) - 50 (breedte watermerk) - 5 (ruimte rechts) = 125 pixels vanaf links

berekening voor 'y' as:
130 (hoogte geuploade foto) - 16 (hoogte watermerk) - 5 (ruimte onder) = 109 pixels vanaf boven
*/

//--- dit is voor rechts boven
$xas = $size[0] - $watermerk_width - 5;
$yas = 5;

//--- overschrijf het 'geuploade bestand' en voeg watermerk toe
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);

//--- upload image
imagejpeg($image, $path . $_FILES['userfile']['name']); // max. kwaliteit

imagedestroy($image);
imagedestroy($watermerk);

echo "De foto is geupload. Je kunt de foto bekijken door op de onderstaande link te klikken:<br />";
echo "<a href=\"" . $path . $_FILES['userfile']['name'] . "\">" . $path . $_FILES['userfile']['name'] . "</a><p>";

echo "<img src=\"" . $path . $_FILES['userfile']['name'] . "\"><p>";

echo "<a href=\"" . $_SERVER['PHP_SELF'] . "\">upload nog een foto</a>";
}
else
{
//--- errors
if ($_POST['submit'])
{
if (file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['name'])
echo "<b>Error! Bestand bestaat al, hernoem de foto en probeer het opnieuw.</b><p>";
elseif ($_FILES['userfile']['size'] > $maxkb)
echo "<b>Error! Bestand is groter dan " . $maxkb . "bytes. Verklein de foto en probeer het opnieuw</b><p>";
elseif (strtolower(substr($_FILES['userfile']['name'], -3)) != "jpg" && strtolower(substr($_FILES['userfile']['name'], -4)) != "jpeg")
echo "<b>Error! De foto heeft een verkeerde bestandsnaam. Er mogen alleen foto's geupload worden met als bestandsnaam .jpg of .jpeg.</b><p>";
else
echo "<b>Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.</b><p>";
}
else
echo "Selecteer een foto om te uploaden. In de foto wordt automatisch het logo van PHPhulp verwerkt.<p>";

//--- formulier met enctype multipart/form-data ivm de file upload
echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\" enctype=\"multipart/form-data\">";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $maxkb . "\" />";
echo "Bestand:<br />";
echo "<input type=\"file\" name=\"userfile\" value=\"" . $_POST['userfile'] . "\" /><br />";
echo "<input type=\"submit\" name=\"submit\" value=\"uploaden\" />";
echo "</form>";
}

?>
Dit heb ik nodig, stond in het script, bedankt!
bool imagecopyresampled ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)

Dus:
imagecopyresampled ( plaatje waar het nieuw plaatje op wordt heschreven , het nieuwe plaatje,x coordinaten bestemmings plaatje, y coordinaten bestemmings plaatje, x coordinaten nieuw plaatje,y coordinaten nieuw plaatje, breedte in px bestemmings plaatje, hoogte in pix bestemmings plaatje, breedte in pix nieuw plaatje, hoogte in pix nieuw plaatje)

Reageren