Watermerk over afbeelding
Ik heb een upload script gemaakt, waarbij er automatisch watermerken over de afbeeldingen moeten worden geplaatst. Maar als ik dit script uitvoer, wordt de afbeelding geupload, maar is de achtergrond van de (transparante) PNG afbeelding wit. Zie http://img6.imageshack.us/img6/9608/watermerk.jpg. Dit is mijn code (van een tut. van Bas):
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// fragment
// Plaatsing watermerk
$watermerk = imagecreatefrompng($path_watermerk);
imagealphablending($watermerk, true);
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);
$spacingx = 10;
$spacingy = 10;
$image = imagecreatefromjpeg($path);
$size = getimagesize($path);
$xas = $size[0] - $watermerk_width - $spacingx;
$yas = $size[1] - $watermerk_height - $spacingy;
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
imagejpeg($image, $path);
imagedestroy($image);
imagedestroy($watermerk);
chmod($path, 0777);
?>
// fragment
// Plaatsing watermerk
$watermerk = imagecreatefrompng($path_watermerk);
imagealphablending($watermerk, true);
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);
$spacingx = 10;
$spacingy = 10;
$image = imagecreatefromjpeg($path);
$size = getimagesize($path);
$xas = $size[0] - $watermerk_width - $spacingx;
$yas = $size[1] - $watermerk_height - $spacingy;
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
imagejpeg($image, $path);
imagedestroy($image);
imagedestroy($watermerk);
chmod($path, 0777);
?>
Ziet iemand wat ik fout doe?
Bij voorbaat dank!
Ricardo Persoon
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// fragment
// Plaatsing watermerk
$watermerk = imagecreatefrompng($path_watermerk);
imagealphablending($watermerk, true);
imagesavealpha($watermerk, true); // save alphablending setting (important)
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);
$spacingx = 10;
$spacingy = 10;
$image = imagecreatefromjpeg($path);
$size = getimagesize($path);
$xas = $size[0] - $watermerk_width - $spacingx;
$yas = $size[1] - $watermerk_height - $spacingy;
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
imagejpeg($image, $path);
imagedestroy($image);
imagedestroy($watermerk);
chmod($path, 0777);
?>
// fragment
// Plaatsing watermerk
$watermerk = imagecreatefrompng($path_watermerk);
imagealphablending($watermerk, true);
imagesavealpha($watermerk, true); // save alphablending setting (important)
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);
$spacingx = 10;
$spacingy = 10;
$image = imagecreatefromjpeg($path);
$size = getimagesize($path);
$xas = $size[0] - $watermerk_width - $spacingx;
$yas = $size[1] - $watermerk_height - $spacingy;
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
imagejpeg($image, $path);
imagedestroy($image);
imagedestroy($watermerk);
chmod($path, 0777);
?>
Helaas, dat werkt ook niet :S Nog steeds hetzelfde effect. imagealphablending() zat ook niet orgineel in het script maar later erbij gezet; zag het op internet.