Bøvl med farver i gdlib
Jeg genererer grafer ud fra et db-udtræk. Til formålet bruger jeg GDlib. I følgende kode dannes søjlediagrammerne fint nok, men problemet er, at 1. søjle i hver graf bliver rød (ok) men resten af søjlerne bliver sorte.Koden: (undskyld længden)
<?php
header("Content-type: image/jpeg");
$imSizeX = 270;
$imSizeY = 250;
$myImage = ImageCreateFromJpeg("grafik/graf_bg_270x250.jpg");
// $myImage = imageCreate($imSizeX, $imSizeY);
$white = ImageColorAllocate($myImage, 255, 255, 255);
$black = ImageColorAllocate($myImage, 0, 0, 0);
$red = ImageColorAllocate($myImage, 255, 0, 0);
$green = ImageColorAllocate($myImage, 0, 255, 0);
$blue = ImageColorAllocate($myImage, 0, 0, 255);
$graa = ImageColorAllocate($myImage, 245, 245, 245);
ImageFill($myImage, 0, 0, $graa);
Imagerectangle($myImage, 0, 0, $imSizeX-1, $imSizeY-1, $black);
Imageinterlace($myImage, 0);
include ("config.php");
$xen = 15;
$hent = "select * from produktion where maaned = '$maaned' order by aar asc limit 12";
$hent_gns = "select AVG (produktion) AS gns from produktion where maaned = '$maaned' AND produktion > 0";
$koer_hent = mysql_query($hent);
$koer_hent_gns = mysql_query($hent_gns);
While ($row=mysql_fetch_array($koer_hent)) {
switch ($maaned) {
case "01":
$strMaaned = "Januar";
break;
case "02":
$strMaaned = "Februar";
break;
case "03":
$strMaaned = "Marts";
break;
case "04":
$strMaaned = "April";
break;
case "05":
$strMaaned = "Maj";
break;
case "06":
$strMaaned = "Juni";
break;
case "07":
$strMaaned = "Juli";
break;
case "08":
$strMaaned = "August";
break;
case "09":
$strMaaned = "September";
break;
case "10":
$strMaaned = "Oktober";
break;
case "11":
$strMaaned = "November";
break;
case "12":
$strMaaned = "December";
break;
}
$prod = $row[produktion]/500;
Imagestring($myImage, 3, 12, 12, ($strMaaned), $black);
Imagefilledrectangle($myImage, $xen, 200-$prod, $xen+7, 200, $red);
Imagerectangle($myImage, $xen, 200-$prod, $xen+7, 200, $black);
$dateImage = ImageCreate(30, 20);
$white = ImageColorAllocate($dateImage, 255, 255, 255);
$black = ImageColorAllocate($dateImage, 0, 0, 0);
$red = ImageColorAllocate($dateImage, 255, 0, 0);
$green = ImageColorAllocate($dateImage, 0, 255, 0);
$blue = ImageColorAllocate($dateImage, 0, 0, 255);
$graa = ImageColorAllocate($dateImage, 245, 245, 245);
ImageFill($dateImage, 0, 0, $graa);
Imageinterlace($dateImage, 0);
Imagestring($dateImage, 3, 0, 0, ($row[aar]), $black);
$rotated = Imagerotate($dateImage, 90, 0);
imagecopymerge($myImage, $rotated, $xen-3, 210, 0, 0, imagesx($rotated), imagesy($rotated),100);
$xen=$xen+20;
Imagedestroy($dateImage);
}
While ($row_gns=mysql_fetch_array($koer_hent_gns)) {
imageline ( $myImage, 10, 200-$row_gns[gns]/500, 245, 200-$row_gns[gns]/500, $blue);
}
Imagejpeg($myImage,'',100);
Imagedestroy($myImage);
?>
