Ik ben met PHP aan het prutsen om een dynamish icon te maken. Dat is vrij aardig gelukt. Het scriptje maakt een gradient achtergrond aan, daaroverheen plaats ik met imagecopymerged() een plaatje van een gecko. Tot slot voeg ik afgeschuinde hoekjes toe. Dat werk prima:
(voor de mensen die externe icons niet aan hebben).
Nu dacht ik dat het wel aardig zou zijn om het overlay-plaatje te veranderen op speciale dagen. Bijv. een kerstmannetje voor kerst. Met andere plaatjes dan de gecko gaat het echter mis. De hoekjes worden niet altijd meer zwart en erger nog: in sommige gevallen wordt er teveel van het overlay-image transparant gemaakt.
Het probleem lijkt veroorzaakt te worden in de volgende regels code:
Wanneer ik de imagecolortransparant uitschakel dan is het hoekjesprobleem opgelost. Dan heb ik echter helemaal geen transparantie meer op de overlay: Dan zie je een rood vierkantje en dat is niet de bedoeling.
Mijn vraag is of iemand een idee heeft om dit op te lossen, of aanwijzing waar het probleem ligt. Een testpagina met probleemgevallen en de volledige source van het script is hier te vnden
Nu dacht ik dat het wel aardig zou zijn om het overlay-plaatje te veranderen op speciale dagen. Bijv. een kerstmannetje voor kerst. Met andere plaatjes dan de gecko gaat het echter mis. De hoekjes worden niet altijd meer zwart en erger nog: in sommige gevallen wordt er teveel van het overlay-image transparant gemaakt.
Het probleem lijkt veroorzaakt te worden in de volgende regels code:
PHP:
1
2
3
4
| $overlay_img = imagecreatefrompng($overlaypic); $red = imagecolorallocate ($overlay_img, 255, 0, 0); imagecolortransparent($overlay_img , $red); |
Wanneer ik de imagecolortransparant uitschakel dan is het hoekjesprobleem opgelost. Dan heb ik echter helemaal geen transparantie meer op de overlay: Dan zie je een rood vierkantje en dat is niet de bedoeling.
Mijn vraag is of iemand een idee heeft om dit op te lossen, of aanwijzing waar het probleem ligt. Een testpagina met probleemgevallen en de volledige source van het script is hier te vnden
Regeren is vooruitschuiven