Logo
JPG to ASCII Converter
Online Now: 1

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
Take a JPG image, and convert it to ASCII code!
<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>
 
Snippet Comments

Add Your Comment

CasTex
11/23/2009
Jpg is sometimes gives errors. Thats why I prefer png.
craig
07/23/2009
I keep getting a parse error for line 53. Is there a ; missing somewhere?
ed
06/04/2009
Solved. Needed to give it a php extension of course, not an html
Anonymous
06/04/2009
apparently php seems to have problems with the double 'greater than signs' in the lines as: $r = ($rgb >> 16) & 0xFF;, which makes it think the php code already stops
ed
06/04/2009
That would be 'fishhook open'?echo $_SERVER['PHP_SELF'];?fishhook closed behind teh url and that is an unknown url
ed
06/04/2009
That would be: behind the URl and that is reported as unknown
ed
06/04/2009
Interesting, too bad it does not work though: when pressing the 'Create' button. Th epost method calls for which is an unknown url
Anonymous
05/09/2009
seriously? you whine about people "taking credit" for this? wow...
Link for Mondrak
03/23/2009
Ach ! the link was stripped ! Click on Mondrak link. Sorry
Mondrak
03/23/2009
I create confusion in the 2 previous comments. To see what I meant see at where I put a living demo. Regards
Mondrak
03/21/2009
The code was filtered: substitute [ with < and ] with > [input type="submit" value=" JPEG img URL " disabled]
Mondrak
03/21/2009
Very nice code even though I've a couple of suggestions: 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
Tyranic-Moron
12/09/2008
I think Guyblade means the echo 'br';, which is true. Don't need the if either, then.

Nice code otherwise!
guyblade
12/08/2008
Please move the "echo '';" outside the inner for loop. You don't need to do w*h integer comparisons when you know that it will always be the right time to place one after the innter loop completes.
petemayo
12/08/2008
Very nice!
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.
Dan
12/08/2008
Awesome....truly awesome. I cannot believe the results, just amazing. Thanks!
Stephen
09/02/2007
Wow! I can't believe such complex output can be achieved by such simple code!!
Travis
06/20/2007
I'm not sure what to say about this..... This crazy! I thought it would be just black and white, but I saw a color and the detail! Awesome!

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Novice
Current Score: 3.23
Total votes: 404
Total Views: 24714

Other top snippets by admin:

1. Add (th, st, nd, rd, th) to the end of a number
2. Dynamic Page Content From Links
3. AJAX Quickie
4. Simple Image CAPTCHA
5. Logout Inactive User

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.84 of 58)

2.  Test Please Delete (2.67 of 24)

3.  Return all repeated (3.45 of 49)

4.  Convert an integer (3.3 of 54)

5.  URL Shortening for (2.69 of 39)

6.  Monthly Content Sorting (2.86 of 35)

7.  Show String Trimmed (2.82 of 51)

8.  Human readable file (2.12 of 50)

9.  Randomize array values (2.66 of 58)

10.  Create a recursive (3.1 of 42)

New Snippets

1.  File size of (1 of 1)

2.  Mail from your (0 of 0)

3.  OddEven Class (0 of 0)

4.  Detect if a (0 of 0)

5.  MB CopyMCF-DIR :: (5 of 1)

6.  Upper/Lower Case Accented (0 of 0)

7.  Zodiac Signs (3 of 1)

8.  Really useful code (0 of 0)

9.  Calculate Central European (0 of 0)

10.  Email Attachment (0 of 0)

11.  ImageMagick Image Upload (0 of 0)

12.  convert plain html (1 of 1)

13.  Tag Builder (3.25 of 4)

14.  Get Inserted ID (4 of 2)

15.  Watermark An Image (3.33 of 3)

16.  Check Prime Numbers (1.57 of 7)

17.  Large Data One (2.33 of 3)

18.  Define a variable (1 of 3)

19.  Alexa/Google Page Rank (1.33 of 3)

20.  Return Between (3 of 2)

21.  Database Search (3.33 of 3)

22.  Text URL to (1.5 of 2)

23.  Auth Class with (4 of 4)

24.  Convert an integer (3.26 of 19)

25.  Return all repeated (3.05 of 20)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010