<?php
$img = "images/clouds2.gif";						//foto ophalen
$imgHand = ImageCreateFromGIF($img); 		// handle voor foto
$imgSize = GetImageSize($img); 					// foto grootte
$imgWidth = $imgSize[0]; 								// breedte en hoogte
$imgHeight = $imgSize[1]; 
echo '<img src="'.$img.'"><br><br>';
// foto vergroot weergeven (met tabel)
echo '<table cellspacing=0 cellpadding=0>';
for ($l = 0; $l < $imgHeight; $l++) { 
	echo '<tr>'; 
	for ($c = 0; $c < $imgWidth; $c++) { 
		$pxlCor = ImageColorAt($imgHand,$c,$l); // pixelkleur ophalen
		$pxlCorArr = ImageColorsForIndex($imgHand, $pxlCor);
		// kleuren omzetten naar 16 grijswaarden
			$htmlCor = DecHex($pxlCorArr["red"]&240) . DecHex($pxlCorArr["red"]&240) . DecHex($pxlCorArr["red"]&240);
		// teller bijhouden voor elke grijswaarde
			$grey[convert($htmlCor)/16]++;
		// tabel cell met als kleur de berekende grijswaarde			
			echo '<td bgcolor="#'.$htmlCor.'" width="3px" height="3px"></td>';
	}
	echo '</tr>';
}
echo '</table><br>';

// alle grijswaarden laten zien, van donker naar licht
for ($i=0;$i<16;$i++){
	echo 'grijswaarde '.$i.' : '.$grey[$i].'<br>';
}
echo '<br><br>Status: <b>'.status(count($grey)).'</b><br>';
// functies						
function convert($color){
	$hexdec=HexDec($color)&240; // kleur omzetten naar hexadecimale waarden (4bits)
	$decbin=DecBin($hexdec); // omzetten naar binair
	$decbin = substr("00000000",0,8 - strlen($decbin)) . $decbin; // verloopnullen bijvoegen tot 8bit
	$bindec = BinDec($decbin); // terug omzetten naar decimale waarde
	return $bindec;		// nu hebben we een getal (grijswaarde) tussen 0 en 15
}

// status 
function status($range){
	if ($range >= 13) return "zwaar bewolkt";
	elseif ($range > 9 && $range < 13) return "bewolkt";
	elseif ($range > 4 && $range <=9) return "licht bewolkt";
	elseif ($range <= 4) return "helder";
} 
?>