imagecolloralocate() bij gif loopt mis (kleur)
Beste leden,
Ik heb al met succes een prachtige werkende captcha gemaakt, nu maak ik een buttongenerator op basis van bestaande gifs, echter duikt een raar fenomeen op. Als ik tekst toevoeg aan de bestaande gif dan gebeurt het (niet altijd, soms is het correct) dat de kleur van de tekst niet de kleur is die ik heb opgegeven. Ik wil vb zwarte tekst op een rood plaatje dan krijg ik tekst in bijna hetzelfde rood dan dat van op het plaatje. Iemand bekend met dit probleem? Het is allicht vrij vervelend,
hartelijk bedankt voor de hulp,
Tom
ps. ik heb nog geen online demo daar mijn host sinds deze namiddag is weggevallen :s
Een stukje uit de class waar het allemaal gebeurd(e)
Ik heb al met succes een prachtige werkende captcha gemaakt, nu maak ik een buttongenerator op basis van bestaande gifs, echter duikt een raar fenomeen op. Als ik tekst toevoeg aan de bestaande gif dan gebeurt het (niet altijd, soms is het correct) dat de kleur van de tekst niet de kleur is die ik heb opgegeven. Ik wil vb zwarte tekst op een rood plaatje dan krijg ik tekst in bijna hetzelfde rood dan dat van op het plaatje. Iemand bekend met dit probleem? Het is allicht vrij vervelend,
hartelijk bedankt voor de hulp,
Tom
ps. ik heb nog geen online demo daar mijn host sinds deze namiddag is weggevallen :s
Een stukje uit de class waar het allemaal gebeurd(e)
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
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
class Generate {
private $button;
public function __construct($font,$size,$image,$color,$text){
$this->constructImage($font,$size,$image,$color,$text);
return $this->button;
}
private function constructImage($font,$size,$image,$color,$text){
$button = imagecreatefromgif($image);
$x = 15;
$y = imagesy($button) - (imagesy($button)-$size)/2;
$col = imagecolorallocate($button,hexdec($color[1]).hexdec($color[2]),hexdec($color[3]).hexdec($color[4]),hexdec($color[5]).hexdec($color[6]));
imagettftext($button,$size,0,$x,$y,$col,$font,$text);
header("Content-type: image/gif");
$this->button = imagegif($button);
imagedestroy($button);
}
}
?>
class Generate {
private $button;
public function __construct($font,$size,$image,$color,$text){
$this->constructImage($font,$size,$image,$color,$text);
return $this->button;
}
private function constructImage($font,$size,$image,$color,$text){
$button = imagecreatefromgif($image);
$x = 15;
$y = imagesy($button) - (imagesy($button)-$size)/2;
$col = imagecolorallocate($button,hexdec($color[1]).hexdec($color[2]),hexdec($color[3]).hexdec($color[4]),hexdec($color[5]).hexdec($color[6]));
imagettftext($button,$size,0,$x,$y,$col,$font,$text);
header("Content-type: image/gif");
$this->button = imagegif($button);
imagedestroy($button);
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Tom Beuckelaere