Tråd: Hello World.
View Single Post
Selv om jeg ikke er noe annet enn en selvlært hobbykoder, måtte jeg prøve meg jeg også. Synes selv dette er en ganske kreativ løsning, men ser at koden nok kunne vært skrevet bedre. Dessverre er jeg ikke helt inne i loops og slike nyttige automatiseringsprosesser, så om noen ønsker å skrive om og renske koden; vær så god. Noen av funksjonene har jeg søkt meg fram til på nettet, kopiert og tilpasset til mitt bruk. Håper det går greit.

Her er bildet som blir brukt i koden: freak.png

Kode

<?php
function rgb2hex($r, $g, $b){
	$r=dechex($r);
	if (strlen($r)<2)
	$r='0'.$r;

	$g=dechex($g);
	if (strlen($g)<2)
	$G='0'.$g;

	$b=dechex($b);
	if (strlen($b)<2)
	$b='0'.$b;

	return $r . $g . $b;
}

function hex2txt($hex)
{
    $string='';
    for ($i=0; $i < strlen($hex)-1; $i+=2)
    {
        $string .= chr(hexdec($hex[$i].$hex[$i+1]));
    }
    return $string;
}


$bilde = imagecreatefrompng("freak.png");

$rgb = imagecolorat($bilde, 0, 321);
$first = rgb2hex(($rgb >> 16) & 0xFF, ($rgb >> 8) & 0xFF, $rgb & 0xFF);

$rgb = imagecolorat($bilde, 0, 0);
$second = rgb2hex(($rgb >> 16) & 0xFF, ($rgb >> 8) & 0xFF, $rgb & 0xFF);

$rgb = imagecolorat($bilde, 0, 118);
$third = rgb2hex(($rgb >> 16) & 0xFF, ($rgb >> 8) & 0xFF, $rgb & 0xFF);

$rgb = imagecolorat($bilde, 0, 207);
$fourth = rgb2hex(($rgb >> 16) & 0xFF, ($rgb >> 8) & 0xFF, $rgb & 0xFF);

echo hex2txt($first.$second.$third.$fourth);
?>

Legger ved hvordan koden fungerer i spoiler, slik at man kan få muligheten til å finne det ut selv.
SPOILER ALERT! Vis spoiler

Koden henter ut fire rgb-verdier fra fire forskjellige punkter på bildets bakgrunn. Disse blir gjort om til fire hex-verdier og satt sammen. Da ender man opp med "68656C6C6F2C20776F726C64", som vil tilsi "hello, world".
Sist endret av zorro; 9. desember 2012 kl. 01:51.