[GD] Witte box om letters
Versio en wil dit script weer gaan gebruiken, maar het resultaat is anders:
http://dragy.nl/lastfm/?type=playsday
http://dragy.nl/lastfm/?type=playstotal
Nu krijg ik om elke letter een witte box, waardoor sommigeletters achter de witte box van een andere letter vallen.
Dus, ik wil die witte blokken om de letters wegkrijgen.. maar hoe?
Vroegâh, toen ik nog bij Mijndomein.nl zat, had ik een plaatje gemaakt die gegevens haalt uit de Last.fm API. Dat werkte daar heel goed :) Nu zit ik bij http://dragy.nl/lastfm/?type=playsday
http://dragy.nl/lastfm/?type=playstotal
Nu krijg ik om elke letter een witte box, waardoor sommigeletters achter de witte box van een andere letter vallen.
Dus, ik wil die witte blokken om de letters wegkrijgen.. maar hoe?
Of kijk is naar imagecolortransparent
Ik heb nu geen achtergrond, maar zo kan je zien dat er echt blokken omheen zitten. Als ik de achtergrond transparant maak, is de achtergrond van de letters op de achtergrond wel transparant, maar op de letters niet (zie hier). Dat is dus echt weird. Volgens mij heeft het gewoon met een instelling te maken van GD (of versie). Ik heb nu op 3 hosts geprobeerd: Versio, Webreus en nog een
//edit Dit is ook raar :S Ik heb nu de achtergrond een solide kleur gegeven ($bg)
//edit 2: Ik heb nu imagealphablending($im, FALSE); en imagesavealpha($im, TRUE); weggehaald en met een vaste achtergrondkleur is het goed, maar met de transparante niet.
Voor als het relevant is:
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
28
29
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
28
29
//Afbeelding instellingen
$im=imagecreatetruecolor(WIDTH, HEIGHT);
imagealphablending($im, FALSE);
imagesavealpha($im, TRUE);
$bg = kleur($im, "f6f6f6");
$black = kleur($im, "000000");
$white = kleur($im, "ffffff");
$transparent = imagecolorallocatealpha($im, 255, 255, 255, 127);
//imagecolortransparent($im, $transparent);
//imagecolortransparent($im, $white);
// Make the background transparent
//imagefilledrectangle($im, 0, 0, WIDTH, HEIGHT, $transparent);
//de GET informatie ophalen en de juiste informatie tonen
switch($_GET['type'])
{
case('playstotal'):
imagefttext($im, 60, $angle, 10, 100, $black, $font, $playsTotal);
imagefttext($im, 30, $angle, 100, 95, $black, $font, "tracks played");
break;
case('playsday'):
imagefttext($im, 80, $angle, 20, 90, $black, $font, $playsDay);
imagefttext($im, 30, $angle, 75, 95, $black, $font, "tracks per day");
break;
}
$im=imagecreatetruecolor(WIDTH, HEIGHT);
imagealphablending($im, FALSE);
imagesavealpha($im, TRUE);
$bg = kleur($im, "f6f6f6");
$black = kleur($im, "000000");
$white = kleur($im, "ffffff");
$transparent = imagecolorallocatealpha($im, 255, 255, 255, 127);
//imagecolortransparent($im, $transparent);
//imagecolortransparent($im, $white);
// Make the background transparent
//imagefilledrectangle($im, 0, 0, WIDTH, HEIGHT, $transparent);
//de GET informatie ophalen en de juiste informatie tonen
switch($_GET['type'])
{
case('playstotal'):
imagefttext($im, 60, $angle, 10, 100, $black, $font, $playsTotal);
imagefttext($im, 30, $angle, 100, 95, $black, $font, "tracks played");
break;
case('playsday'):
imagefttext($im, 80, $angle, 20, 90, $black, $font, $playsDay);
imagefttext($im, 30, $angle, 75, 95, $black, $font, "tracks per day");
break;
}
HOPPA!
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
28
29
30
31
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
28
29
30
31
//Afbeelding instellingen
$im=imagecreatetruecolor(WIDTH, HEIGHT);
//imagealphablending($im, FALSE);
//imagesavealpha($im, TRUE);
$bg = kleur($im, "F6F6F6");
$red = kleur($im, "red");
$black = kleur($im, "black");
$white = kleur($im, "white");
$transparent = imagecolorallocatealpha($im, 255, 255, 255, 127);
//imagecolortransparent($im, $transparent);
//imagecolortransparent($im, $white);
imagecolortransparent($im, $bg);
// Make the background transparent
imagefilledrectangle($im, 0, 0, WIDTH, HEIGHT, $bg);
//de GET informatie ophalen en de juiste informatie tonen
switch($_GET['type'])
{
case('playstotal'):
imagefttext($im, 60, $angle, 10, 100, $black, $font, $playsTotal);
imagefttext($im, 30, $angle, 100, 95, $black, $font, "tracks played");
break;
case('playsday'):
imagefttext($im, 80, $angle, 20, 90, $black, $font, $playsDay);
imagefttext($im, 30, $angle, 75, 95, $black, $font, "tracks per day");
break;
}
$im=imagecreatetruecolor(WIDTH, HEIGHT);
//imagealphablending($im, FALSE);
//imagesavealpha($im, TRUE);
$bg = kleur($im, "F6F6F6");
$red = kleur($im, "red");
$black = kleur($im, "black");
$white = kleur($im, "white");
$transparent = imagecolorallocatealpha($im, 255, 255, 255, 127);
//imagecolortransparent($im, $transparent);
//imagecolortransparent($im, $white);
imagecolortransparent($im, $bg);
// Make the background transparent
imagefilledrectangle($im, 0, 0, WIDTH, HEIGHT, $bg);
//de GET informatie ophalen en de juiste informatie tonen
switch($_GET['type'])
{
case('playstotal'):
imagefttext($im, 60, $angle, 10, 100, $black, $font, $playsTotal);
imagefttext($im, 30, $angle, 100, 95, $black, $font, "tracks played");
break;
case('playsday'):
imagefttext($im, 80, $angle, 20, 90, $black, $font, $playsDay);
imagefttext($im, 30, $angle, 75, 95, $black, $font, "tracks per day");
break;
}
Zo werkt het goed. Dus zonder savealpha en met een vaste achtergrondkleur die ik dan transparant maak :) Ik snap alleen niet dat het eerst wel werkte
Gewijzigd op 01/01/1970 01:00:00 door Kay Kay