Development

Here's the first draft of our code. You will (obviously) need the GD library installed and be familiar with GD functions in order to understand what's going on:

<?php
    $image
= imagecreatefromjpeg("tux.jpg");
    if (
$image) {
        echo
'<PRE STYLE="font: 1px/1px Courier New;">';
        
$asciichars = array("@", "#", "+", "*", ";", ":", ",", ".", "`", " ");
        
$width = imagesx($image);
        
$height = imagesy($image);

        for(
$y = 0; $y < $height; ++$y) {
            for(
$x = 0; $x < $width; ++$x) {
                
$thiscol = imagecolorat($image, $x, $y);
                
$rgb = imagecolorsforindex($image, $thiscol);
                
$brightness = $rgb['red'] + $rgb['green'] + $rgb['blue'];
                
$brightness = round($brightness / 85);
                
$char = $asciichars[$brightness];
                echo
$char;
             }
            echo
"\n";
        }
        echo
'</PRE>';
    }
?>

If you put your own picture in there in place of tux.jpg, and make sure you give it enough time to run (it's quite an intensive task). With a 1-pixel font, the symbols should come out exceedingly small and so make the picture look very good indeed!


 

Next chapter: Analysis: ASCII art in colour >>

Previous chapter: Analysis

Jump to:

 

Home: Table of Contents

Follow us on Identi.ca or Twitter

Username:   Password:
Create Account | About TuxRadar