Ik zit al een tijdje met een probleem. Ben wezen zoeken op google naar "php passing color parameter", en dergeliijke, maar ik heb nergens een oplossing gevonden voor een ogenschijnlijk simpel probleem.
Eerst de geminimaliseerde code:
Nu verwacht ik drie vierkantjes naast elkaar, maar in praktijk blijk ik groen te missen:

ik weet dat ik het kan oplossen door een nieuw object te maken, waarbij de functies en de image-variable deel zijn van hetzelfde object, maar dit zou ook moeten werken.
Kan iemand mij vertellen hoe ik groen licht (of eigenlijk een vierkantje krijg)?
PS: de code is maximaal geminimaliseerd. Het origineel is een stuk uitgebreider, maar de essentie blijft.
PS: De kleur heb ik ook al geprobeerd door te geven `by reference`, maar dat hielp niet.
Eerst de geminimaliseerde 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
27
| <?php $image = imagecreatetruecolor(70, 30); $backg = imagecolorallocate($image, 0, 0, 0); imagefilledrectangle($image, 0, 0, 69, 29, $backg); $red = imagecolorallocate($image, 255, 0, 0); $green = imagecolorallocate($image, 0, 255, 0); imagefilledrectangle ($image,10,10,20,20, $red); green ($image, $green); blue ($image); header('Content-type: image/png'); imagepng($image); imagedestroy($image); function green(&$im, $col) { imagefilledrectangle ($im,50,10,60,20, $col); } function blue(&$im) { $blue = imagecolorallocate($im, 0, 0, 255); imagefilledrectangle ($im,50,10,60,20, $blue); } ?> |
Nu verwacht ik drie vierkantjes naast elkaar, maar in praktijk blijk ik groen te missen:
ik weet dat ik het kan oplossen door een nieuw object te maken, waarbij de functies en de image-variable deel zijn van hetzelfde object, maar dit zou ook moeten werken.
Kan iemand mij vertellen hoe ik groen licht (of eigenlijk een vierkantje krijg)?
PS: de code is maximaal geminimaliseerd. Het origineel is een stuk uitgebreider, maar de essentie blijft.
PS: De kleur heb ik ook al geprobeerd door te geven `by reference`, maar dat hielp niet.