Może kogoś zainteresuje ? :-)
Co do kolorów, tło psuje trochę, ale jak ustawie białe, to całkiem dziwnie wygląda :] może w przyszłości stworzę dynamiczne (ustawiane przez użytkownika :])..
Reszta kodu tutaj: Jak widać, nic nie uśredniam.. no a zmniejszyć nie mogę, bo wtedy będą zbyt mocne przejścią pomiędzy punktami.. no chyba, że zrobię zmniejszenie,ale wtedy obrazki staną się mniej widoczne.. :|
<html>
<head>
<link href=\"zymen.css\" rel=\"stylesheet\" type=\"text/css\">
</head>
<body>
<form action=\"index.php\" method=\"GET\">
<table border=1 cellspacing=0 cellpadding=0 align=\"center\">
<tr><td style=\"color:rgb(255,255,255)\">Http pliku:</td><td><input type=\"text\" name=\"nazwa_pliku\" class=\"text\" value=\"<?=$_GET['nazwa_pliku'];?>\"></td></tr>
<tr><td colspan=2 align=\"center\"><input type=\"submit\" value =\"Twórz!\"></td></tr>
</table>
</form> <BR><BR>
<?
if (isset($_GET['nazwa_pliku'])) {
$plik_in = fopen($_GET['nazwa_pliku'], \"r\"); $extension = eregi(\"[.](jpg|jpeg|gif|png)$\",$_GET['nazwa_pliku'], $out); $file_name_tmp = \"tmp/\".rand(0,10000).$out[0];
$plik_out = fopen( $file_name_tmp, \"w\"); //udalo sie ?
if (!$plik_in || !$plik_out)
{
echo('<p style=\"font-size:10px; color:rgb(255,255,0)\">I can't read
file!</p
>'); exit();
}
//to czytajmy!
while(!feof($plik_in))
{
$data = fread($plik_in, 128);
fwrite($plik_out, $data);
}
fclose($plik_in);
fclose($plik_out);
switch(strtolower($out[1]))
{
case 'jpg':case 'jpeg':{$pict = ImageCreateFromJPEG($file_name_tmp);break;}
case 'gif':{$pict = ImageCreateFromGIF($file_name_tmp);break;}
case 'png':{$pict = ImageCreateFromPNG($file_name_tmp);break;}
}
// header('Content-type: image/png');
$x = imagesx($pict);
$y = imagesy($pict);
$tekst = \"@\";
$rozmycie = 10;
echo('<span>');
$ktory_znak=0;
for($y_=0; $y_<$y; $y_+=3)
{
for($x_=0; $x_<$x; $x_+=2.25)
{
$ktory_znak+=1;
// $znak = $tekst[$ktory_znak%strlen($tekst)];
$znak = $tekst[rand(0,count($tekst)-1)];
$rgb = ImageColorAt($pict, $x_, $y_);
if ($ostatni_kolor+$rozmycie >= $rgb && $ostatni_kolor-$rozmycie <= $rgb)
{
echo($znak);
}else
{
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$ostatni_kolor=$rgb;
echo('</span>'.'<span style=\"color:rgb('.$r.','.$g.','.$b.');\">'.$znak);
}
}
echo(\"</span><br>n\"); $ostatni_kolor=-1;
}
}
include('licznik.php');
?>