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 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?
Lijkt erop dat je voor elke letter/cijfer een apart plaatje gebruikt en deze niet transparant wordt/is. Kijk eens naar GD transparency.
Of kijk is naar imagecolortransparent
Het maakt helaas niks uit :(
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:
	//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;
	}


HOPPA!
//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;
	}

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

Reageren