************************************************* * To-Do: * 1) Estipular um caracter unico de impressao para cada * Gama de cor * 2) Permitir que o usuario escolha imagens no diretorio corrente * Do script, para melhor utilizacao. ************************************************* * Este programa eh livre para uso e alteracao * Se voce quiser colaborar na atualizacao deste programa * Envie atualizacoes para *************************************************/ // Diretorio fisico onde esta(m) a(s) imagem(ns) // A variavel $img serah passada via query string, e deve ser o nome do arquivo GIF que estah // No diretorio referenciado em $path $path = "c:/windows/desktop/"; $frase = "@"; $letra = -1; /* http://www.php.net/manual/en/function.imagecreatefromgif.php */ $imgHand = ImageCreateFromPng($path.$img); function letra() { global $letra; global $frase; $total = strlen($frase); $letra++; if($letra >= $total) $letra = 0; return $frase[$letra]; } function cor($txt) { if(strlen($txt) == 1) $txt = "0$txt"; if(!strlen($txt)) $txt = "00"; return $txt; } /* http://www.php.net/manual/en/function.getimagesize.php */ $imgSize = GetImageSize($path.$img); $imgWidth = $imgSize[0]; $imgHeight = $imgSize[1]; $htmlCode = "
"; 
    for ($l = 0; $l < $imgHeight; $l++) { 
        $htmlCode .= "\n"; 
        for ($c = 0; $c < $imgWidth; $c++) { 
            /* http://www.php.net/manual/en/function.imagecolorat.php */ 
            $pxlCor = ImageColorAt($imgHand,$c,$l); 
            /* http://www.php.net/manual/en/function.imagecolorsforindex.php */ 
            $pxlCorArr = ImageColorsForIndex($imgHand, $pxlCor); 
            /* http://www.php.net/manual/en/function.dechex.php */ 
            $htmlCor = cor(DecHex($pxlCorArr["red"])) . cor(DecHex($pxlCorArr["green"])) . cor(DecHex($pxlCorArr["blue"])); 
            $htmlCode .= "" . letra() . "";
        }
    } 

    $htmlCode .= "\n
"; header("Content-type: text/html \n\n"); print "GIF 2 ASCII: $img"; print ""; print $htmlCode; ?>