Description
Take a JPG image, and convert it to ASCII code!
Snippet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
<title>Ascii</title>
<style>
body{
line-height:1px;
font-size:1px;
}
</style>
</head>
<body>
<?php
function getext($filename) {
$pos = strrpos($filename,'.');
$str = substr($filename, $pos);
return $str;
}
if(!isset($_POST['submit'])){
?>
<form action="<?echo $_SERVER['PHP_SELF'];?>" method="post">
JPG img URL: <input type="text" name="image"><br>
<input type="submit" name="submit" value="Create">
</form>
<?
}else{
$image = $_POST['image'];
$ext = getext($image);
if($ext == ".jpg"){
$img = ImageCreateFromJpeg($image);
}
else{
echo'Wrong File Type';
}
$width = imagesx($img);
$height = imagesy($img);
for($h=0;$h<$height;$h++){
for($w=0;$w<=$width;$w++){
$rgb = ImageColorAt($img, $w, $h);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
if($w == $width){
echo '<br>';
}else{
echo '<span style="color:rgb('.$r.','.$g.','.$b.');">#</span>';
}
}
}
}
?>
</body>
</html>

which is an unknown url
$r = ($rgb >> 16) & 0xFF;, which makes it think the php code already stops
Regards
Sorry
First: instead of "JPEG img URL: " that is showed at 1 px per char I suggest to put the following code:
Second: change the input type in "file" so you get a browse button as well.
That's it !
Thanks again
[input type="submit" value=" JPEG img URL " disabled]
Nice code otherwise!
I have been thinking about doing a script like this forever :)
Great for smaller files.
Too bad it takes so long to render, otherwise could do some cool javascript enlarging / reducing the image.
I bet CSS 3 could do some cool stuff with this as well, doing gradual color fades etc.