<?php
$img = "images/caption_1.gif"; //foto ophalen
$imgHand = ImageCreateFromGIF($img); // handle voor foto
$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++) {
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>'; }
}
// 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";
}
?>