PHP beginner |
|
@ rens
Ja dat is precies wat ik nodig heb, maar dan andersom. Dus van CIP -> GIF...
ik heb al een tijd zitten spelen. Momenteel heb ik iets werkend, maar misschien dat het beter kan:
<?php
$data = "iets_te_lange_string";
// hak de string in stukjes van 2
$arrData = str_split($data, 2);
// maak lege array voor de kleuren
$arrColors = array();
// loop door de hex array
for($i = 0; $i < count($arrData); $i++)
{
$hex = $arrData[$i];
$bin = decbin(hexdec($hex));
$bin = substr("00000000", 0, 8 - (strlen($bin))).$bin;
$newbin = array_reverse(str_split($bin, 2));
for($x = 0; $x < 4; $x++)
{
$bin = $newbin[$x];
switch($bin)
{
case "00":
$bin = "11";
break;
case "10":
$bin = "01";
break;
case "11":
$bin = "00";
break;
case "01":
$bin = "10";
break;
}
$strColor = $bin.$bin.$bin.$bin;
$strColor = bindec($strColor);
$strColor = dechex($strColor);
$arrColors[] = strtoupper(substr($strColor.$strColor.$strColor.$strColor.$strColor.$strColor,0,6));
}
}
// nu even in tabel, later ga ik dit netjes in een afbeelding stoppen
echo "<table cellpadding=\"0\" cellspacing=\"0\">";
$index = 0;
for($i = 0; $i < 100; $i++)
{
echo "<tr>";
for($x = 0; $x < 160; $x++)
{
echo "<td bgcolor=\"#".$arrColors[$index]."\" width=\"2\" height=\"2\"></td>";
$index++;
}
echo "</tr>\n";
}
echo "</table>";
?>
<?php $data = "iets_te_lange_string"; // hak de string in stukjes van 2 $arrData = str_split($data, 2); // maak lege array voor de kleuren // loop door de hex array for($i = 0; $i < count($arrData); $i++) { $hex = $arrData[$i]; for($x = 0; $x < 4; $x++) { $bin = $newbin[$x]; switch($bin) { case "00": $bin = "11"; break; case "10": $bin = "01"; break; case "11": $bin = "00"; break; case "01": $bin = "10"; break; } $strColor = $bin.$bin.$bin.$bin; $strColor = bindec($strColor); $strColor = dechex($strColor); $arrColors[] = strtoupper(substr($strColor.$strColor.$strColor.$strColor.$strColor.$strColor,0,6)); } } // nu even in tabel, later ga ik dit netjes in een afbeelding stoppen echo "<table cellpadding=\"0\" cellspacing=\"0\">"; $index = 0; for($i = 0; $i < 100; $i++) { for($x = 0; $x < 160; $x++) { echo "<td bgcolor=\"#".$arrColors[$index]."\" width=\"2\" height=\"2\"></td>"; $index++; } } ?>
|