afmetingen afbeelding plaatje.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?
//--- 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>";
}
?>
//--- 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>";
}
?>
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)