X-Google-Language: ENGLISH,ASCII X-Google-Thread: f996b,cea2c289b24b1b4e,start X-Google-Attributes: gidf996b,public X-Google-ArrivalTime: 2001-06-30 13:58:56 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!news.tele.dk!TDC-Europe.POSTED!ip177.hgnxr1.ras.tele.dk!not-for-mail From: "Christian 'CeeJay' Jensen" Newsgroups: alt.ascii-art Subject: Image -> Ascii conversion algorithm idea Date: Sat, 30 Jun 2001 22:59:08 +0200 Organization: Posted through some European Outpost of TDC Internet A/S Lines: 52 Message-ID: <9hleid$fra$1@news.inet.tele.dk> NNTP-Posting-Host: ip177.hgnxr1.ras.tele.dk X-Trace: news.inet.tele.dk 993934733 16234 195.249.199.177 X-Complaints-To: the appropriate department of the poster's provider X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com alt.ascii-art:6453 I was thinking (honest! .. it DOES happen *g*) when I saw JavaJulia by RMG (the Geiss-guy) that the same algorith he uses to convert julia-fractals to ascii could also be used for any graphic. JavaJulia uses the chars " ,._'/)J`(\L"7PO" to creates neat Julia fractals. (Btw he could have used � and many other extended chars since the medium was a webpage) I have been studing the code (because I thought it was intriguing and I wanted to learn how he did it) and it seems that for each char it determines if 4 points are a part of the fractal (white) or if they are not. Depending on which points are white and which are not it represents theese points with a certain char from the chars mentioned earlier. Some examples : __ |##| = 7 | #| __ | | = _ |##| __ |##| = O |##| Knowing this we can create a similar effect to any black & white image. This works great for illustration and other graphics in only 2 colors. But what is we wanted to apply this to a grayscale image (256 shades of grey) ? I had an idea that if we instead assigned a value (0 - 255) to theese points instead of just 0-1 (black or white) we could apply the above technique (choosing the right char) to thoose points (pixels) IF and only if the difference in brightness (0 - 255) was above a certain level (user adjustable) and if not then the points brightness value would instead be averaged and a "soft" char would be choosen to shade the area. With soft char i mean a char without a distinctive shape .. like f.x : #8Oo:. ( possibly userdefinable too ) .. It's all very much like a mix between Jave's 4-pixel and 1-pixel algorithm. I believe that this algorithm will yield very good results on illustrations and high-contrast/low-detail images. RFC Sincerly CeeJay