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



Copyright 2012 Future Publishing Limited (company
registered number 2008885), a company registered
in England and Wales whose registered office is at
Beauford Court, 30 Monmouth Street, Bath, BA1 2BW, UK