Imagecopymerge met transparantie
Ik zit te klooien met PHP GD...
Ik wil een marker maken voor google maps.
Zie onderstaand script (overbodige is weggelaten)
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
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
<?
// Background
$bg = imagecreatetruecolor(32, 37);
$tr = imagecolorallocatealpha($bg, 0, 0, 0, 127);
imagefill($bg, 0, 0, $tr);
imagesavealpha($bg, true);
// Draw rectangle
$color = hex2rgb($_GET['color']);
$bgclr = imagecolorallocate($bg, $color[0], $color[1], $color[2]);
imagefilledrectangle($bg, 4, 4, 27, 27, $bgclr);
// Image on top
$im = imagecreatefrompng("../images/icons/googleMapsMarkerNew.png");
imagesavealpha($im, true);
// Merge both images
imagecopymerge($bg, $im, 0, 0, 0, 0, 32, 37, 50);
// Output
header('Content-type: image/png');
imagepng($bg);
imagedestroy($bg);
?>
// Background
$bg = imagecreatetruecolor(32, 37);
$tr = imagecolorallocatealpha($bg, 0, 0, 0, 127);
imagefill($bg, 0, 0, $tr);
imagesavealpha($bg, true);
// Draw rectangle
$color = hex2rgb($_GET['color']);
$bgclr = imagecolorallocate($bg, $color[0], $color[1], $color[2]);
imagefilledrectangle($bg, 4, 4, 27, 27, $bgclr);
// Image on top
$im = imagecreatefrompng("../images/icons/googleMapsMarkerNew.png");
imagesavealpha($im, true);
// Merge both images
imagecopymerge($bg, $im, 0, 0, 0, 0, 32, 37, 50);
// Output
header('Content-type: image/png');
imagepng($bg);
imagedestroy($bg);
?>
MarkerNew.png is transparant, net als de uitgespuudge 'imagecreatetruecolor'.
(beide afzonderlijk laten weergegeven namelijk)
Echter, wanneer ik deze afbeeldingen wil mergen, wordt de afbeelding, waar normaal transparantie zit, zwart...
De afbeelding is een vierkantje met pijltje eronder. binnenin het vierkantje komt de andere afbeelding (gemaakt met imagecreatetruecolor). deze kan namelijk van kleur veranderen.
zo krijg je a.d.h.v. je url parameters, steeds een andere kleur marker...
Maar nadat de afbeelding dus gemerged is, is de transparantie weg...
Iemand een oplossing?
Bvd,
Leon
Gewijzigd op 01/01/1970 01:00:00 door Leon Kunst
Ook daar heb ik al mee lopen rotzooien... maar zonder gewenst resultaat :(
*bump*
Ik zie het echt even niet namelijk....
Bump nr 4....
is er echt niemand met een oplossing?? :(
gaat hard zo hea...
Heeft niemand een antwoord op bovenstaande vraag??...
http://drupal.org/node/80369
http://www.phpfreaks.com/forums/index.php?topic=127046.0
http://www.pixel2life.com/forums/index.php?showtopic=37968
Drie keer ongeveer hetzelfde.....
En ik heb het niet meer zo op GD. Slechte kwaliteit. Geef mij maar imagemagick.
http://www.phpfreaks.com/forums/index.php?topic=127046.0
http://www.pixel2life.com/forums/index.php?showtopic=37968
Drie keer ongeveer hetzelfde.....
En ik heb het niet meer zo op GD. Slechte kwaliteit. Geef mij maar imagemagick.
Oplossing:
imagecopy($bg, $im, 0, 0, 0, 0, 32, 37);
ipv:
imagecopymerge($bg, $im, 0, 0, 0, 0, 32, 37, 50);
Bedankt!