(gd) merge png en jpg geeft probleem
ik ben wat aan eht experimenteren met wat GD library codes en dan gaat het mij vooral om een watermerk an tebrengen op een plaatje. Maar het geeft een probleempje.
Met een GIF watermerkje gaat alles perfect, geen probleem alleen de kwaliteit stoort mij een beetje. Dus ik dacht laat ik het in png doen. Maar dan komt het er zo uit:
Dit is uiteraard niet het gewenste resultaat want het watermerk is gewoon een schuinlopende tekst met wat effectjes erin gemaakt in photoshop.
Dit is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?PHP ini_set('display_errors', 1);
error_reporting(E_ALL);
$dest = imagecreatefromjpeg('test.jpg');
$src = imagecreatefrompng('watermerk2.png');
imagecopymerge($dest, $src, 0, 0, 0, 0, 500, 500, 70);
header('Content-Type: image/jpeg');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>
error_reporting(E_ALL);
$dest = imagecreatefromjpeg('test.jpg');
$src = imagecreatefrompng('watermerk2.png');
imagecopymerge($dest, $src, 0, 0, 0, 0, 500, 500, 70);
header('Content-Type: image/jpeg');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>
kan iemand mij vertellen wat ik fout die?
Gewijzigd op 01/01/1970 01:00:00 door Vincent hagen
Ik zou zorgen dat ze allebei van hetzelfde bestandstype zijn. Ik weet niet of het wat uithaalt; maar als je ze nu eens allebei naar wbmp omzet (jpeg2wbmp() en png2wbmp()) en dan met die wbmp weer iets doet waardoor het of png of jpeg wordt? (Geen idee of het kan, heb nl. bar weinig verstand van GD, maar het zou kunnen.)
met de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?PHP ini_set('display_errors', 1);
error_reporting(E_ALL);
png2wbmp('watermerk2.png', 'wbmp/watermerk2.wbmp', 500, 500, 7);
jpeg2wbmp('test.jpg', 'wbmp/test.wbmp', 500, 500, 7);
$dest = imagecreatefromwbmp('wbmp/test.wbmp');
$src = imagecreatefromwbmp('wbmp/watermerk2.wbmp');
// samenvoegen
imagecopymerge($dest, $src, 0, 0, 0, 0, 500, 500, 70);
// neerzetten
header('Content-Type: image/jpeg');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>
error_reporting(E_ALL);
png2wbmp('watermerk2.png', 'wbmp/watermerk2.wbmp', 500, 500, 7);
jpeg2wbmp('test.jpg', 'wbmp/test.wbmp', 500, 500, 7);
$dest = imagecreatefromwbmp('wbmp/test.wbmp');
$src = imagecreatefromwbmp('wbmp/watermerk2.wbmp');
// samenvoegen
imagecopymerge($dest, $src, 0, 0, 0, 0, 500, 500, 70);
// neerzetten
header('Content-Type: image/jpeg');
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
?>
Gewijzigd op 01/01/1970 01:00:00 door Vincent hagen
iemand enig idee?
http://nl.php.net/manual/en/function.imagecopymerge.php
Staan genoeg voorbeelden, ik vermoed dat het probleem ligt bij het niet gebruik maken van imagecreatetruecolor().
Al eens gekeken? op Staan genoeg voorbeelden, ik vermoed dat het probleem ligt bij het niet gebruik maken van imagecreatetruecolor().
Uiteindelijk moet je dus gewoon imagecopy() gebruiken, dan doet hij het wel