Watermerk over afbeelding
Hallo allemaal,
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):
Ziet iemand wat ik fout doe?
Bij voorbaat dank!
Ricardo Persoon
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
Gesponsorde koppelingen:
volgens php.net moet je imagesavealpha() gebruiken voor het opslaan van de settings, Laats ook gebruikt en het werkte als ik het me goed herinner.
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.



