Image2html un capolavoro da geek

The following two tabs change content below.

Gianni M.

Sono da sempre uno smanettone… Ormai non più in erba, ma sempre desideroso di conoscere, scoprire, ogni cosa che abbia a che fare con tecnologia e dintorni.

Image2html è uno script php che permette di convertire un’immagine in una pagina html testuale. Il testo viene preso da un file predefinito: i caratteri vengono utilizzati al posto dei pixel, che vengono colorati in base al colore pixel di riferimento… Sinceramente non credo che abbia alcun utilità pratica (a parte creare un bel testo per una t-shirt molto geek), ma il risultato è veramente sorprendente. Inoltre bisogna dire che veramente il codice molto elegante e sintetico: è un esercizio di stile degno di nota.

Vediamo come funziona con esempio.

Mi sono accorto che lo script tende a schiacciare parecchio l’immagine verticalmente, quindi utilizzando la funzione “Scala immagine” di Gimp ho ridotto l’altezza del 40% circa, ottenendo l’immagine seguente che ho poi dato in pasto allo script:

Guardate un po cosa succede a Dante:

Tutto questo grazie codice php seguente:

<!–

This code is copyright 2012 Steve Jensen sj@gurv.org

This code is licensed for use under the terms of the GNU GPLv2
License – see www.gruv.org/image2html/LICENSE.txt

–>

<html>
<head>
<title>image2html – www.gruv.org</title>
</head>
<body bgcolor=#000000>
<font face=fixed size=1>
<pre>
<?php
$img = imagecreatefrompng(“smpeacock.png”);
$words=file(“words.txt”);
$wi=0;
$we=0;
$w = imagesx($img);
$h = imagesy($img);
for($y=0;$y<$h;$y++) {
for($x=0;$x<$w;$x++) {
$rgb = imagecolorat($img, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$rgbhtml=”#”.str_repeat(“0”,2-strlen(dechex($r))).dechex($r).str_repeat(“0”,2-strlen(dechex($g))).dechex($g).str_repeat(“0”,2-strlen(dechex($b))).dechex($b);
echo “<font color=$rgbhtml>”.htmlspecialchars(substr($words[$wi],$we,1)).”</font>”;
$we++;
if($we==strlen($words[$wi])){
$we=0;
$wi++;
if($wi==count($words)){
$wi=0;
}
}
}
echo “\r\n”;
}
?>
</pre>
</font>
</body></html>

Il file compresso contenente lo script php, la pagina html risultante, l’immagine e file di testo modificati da me (non potevo non mettere la Divina Commedia al nostro Dante!) sono scaricabili da qui.

Mentre la pagina ufficiale la trovate qui… Lì è tutto originale!;)

Lascio a voi smanettarci un po’ per divertimento: se qualcuno di voi dovesse creare un semplice form che si appoggia questo script per convertire delle immagini a scelta, posti il link così ci divertiamo un po’!:)

Buon divertimento!