From: Anthony Moralez Date: 2005-10-13T05:40:09+09:00 Subject: Re: [QUIZ] Text Image (#50) ------=_Part_3904_12099786.1129088559750 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I'm happy to submit my first ruby quiz solution. I really liked the RMagick library. It made this pretty easy. the code: require 'RMagick' class ImageToAscii @@ascii_pixel =3D [ Array.new(10, '#'), Array.new(35, '.'), Array.new(5, '\\'), Array.new(15, '-'), Array.new(20, '*'), Array.new(15, '+'), Array.new(20, ':'), Array.new(20, '/'), Array.new(30, '=3D'), Array.new(30, '|'), Array.new(30,'@'), Array.new(30, ' ')].flatten! def initialize( image ) @image =3D image end def convert prepare_image translate_pixels end def translate_pixels pixels =3D @image.get_pixels(0, 0, @image.columns, @image.rows) new_pixels =3D pixels.map { |pix| to_ascii pix.intensity} 0.upto(@image.rows) do |row| new_pixels.insert( (row*@image.columns+row), "\n") end new_pixels end def prepare_image @image =3D @image.blur_image.blur_image.scale(40,40) end def to_ascii( index ) @@ascii_pixel[index] end end img =3D Magick::ImageList.new(ARGV[0]) converter =3D ImageToAscii.new(img) puts converter.convert.to_s the output: from ducky.png @@|||@ @||||||=3D=3D@ @||||||||=3D=3D| @|||||||||=3D=3D=3D@ |||||||||||=3D=3D=3D @|||||||||||=3D=3D/@ |||||||||||=3D=3D=3D/=3D |=3D=3D|||||||||=3D=3D=3D// =3D=3D\/|||||||=3D=3D=3D=3D//@ @=3D/.+||||||=3D=3D=3D=3D=3D//| @=3D|||||||=3D=3D+.+=3D=3D/=3D=3D @=3D=3D|||||=3D=3D=3D*\:=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|||=3D=3D=3D=3D| |:**-**://=3D=3D=3D=3D=3D=3D=3D@ =3D-------*:=3D=3D=3D=3D=3D| @@@@ @*-**-----+=3D=3D=3D=3D @@@@@|@ *--*-**-*/=3D=3D=3D@ @@@@@@@@@|| +\\\\\-:=3D=3D=3D:://=3D=3D|||@@@@@@@@||| @|/*-\\-:/=3D//++:/=3D=3D||@@@@@@@@@||| @||=3D/+*+:////::::/=3D|||@@@@@@@@@|||@ @||||=3D/::::://////=3D=3D|||@@@@@@@@@|||@ @@@|||=3D/:++:///=3D=3D=3D=3D=3D|||@@@@@@@@@|||=3D@ @@@@@|||=3D/:://=3D=3D=3D=3D|||||@@@@@@@||||||=3D |@@@@@||=3D=3D=3D/=3D=3D=3D|||||||@@@@@@@|||||||| @@@@@@@@|||=3D=3D=3D|||@|@@@@@@@@@@@||||||=3D |@@@@@@@@||||||@@@|@@|@@|@|@||||||||| @|@@@@@@@@@@|||@@@|@@@@@@@@|||||||||| @||@@@@@@@@@@@@@@@@@@@@|@|||||||||||@ @||@@@@@@@@@@@@@@@@@|||||||||||||||@ @||||@@@@@@@@@@|||||||||||||||||||| |||||@|@@@@||@@@@@||||||||||||||| |||||||||||||||||||||||||||||||| @|||||||||||||||||||||||||||||@ ||||||||||||||||||||||||||||@ @|||||||||||||||||||=3D||||||@ @|||||||||||||||||=3D|||||@ @||||||||||||||||||||@ @||||||||||||||||@ @@||||||||||@@ @@@@@@ and from tomb-raider.png: ........................................ ........................................ ................................*....... ....................:.............*..... ..........--......../-+-..........:..... .........\--.......*|+=3D*-.\.......\*.... .........**|:...#..-|:=3D/+-..--.....*.... .........**@=3D.......|/=3D||=3D-*=3D|:....*.... .........**@=3D.......://|@|=3D|||=3D\...*.... .........*-@=3D......./=3D=3D||||@||/....+.... ....#..-#.-@=3D.......=3D=3D|||||||=3D/-...-.... ....#.--***@|........=3D=3D||||=3D=3D=3D/:*..+.... .....*:+-|*@|........+=3D=3D||=3D/=3D=3D=3D=3D/...-... ....=3D=3D=3D=3D:|-@|.........=3D=3D/+=3D=3D=3D||=3D|..-\... ..-*=3D=3D|||=3D-@|-#.......\-../|=3D||=3D=3D:..*... ..**||@@@=3D-||*....\.......-|=3D=3D+**+..-... ..-+|@@@|=3D-/*............*|/\.#.....*... ...-|@@||*..............+:.-://::-*.*... .\..||||=3D.............\-../=3D=3D=3D=3D=3D//-**... ....+=3D=3D*......#......\-.-=3D=3D=3D|||=3D=3D/+-*... .\..................\../@|||@||=3D=3D=3D:-*... .\\....-.\........-...*@|||@@||=3D=3D=3D*-*... ....#.:|||...........\|||||||||=3D=3D/.--... ....../|@|/.........*||||@@@||=3D=3D/..--... ......+=3D@@=3D......../|||@@@@||=3D/*...\+... .......||@|/.....\=3D|||@@@|||=3D-.....\\*#. .......=3D=3D|@=3D+...*=3D|||@@@|||*.........:.. .......*=3D|||=3D*.:=3D|||@@|||/.#.....\..\/-. ......../=3D|||=3D/=3D=3D|@@||||+........:..-/+. ........-=3D=3D|||=3D|||||||/.........\=3D-.\=3D/. .....\.../=3D|||||||||=3D-........\\=3D/\..=3D.. .....\...\=3D|||||||/-..........**=3D*-.:*.. .....\..../|@@@|=3D:...........--=3D+:+\/... ......\...*=3D=3D/*.++...........-+/*+:*+... ......\.........:*...........+/--++.-... ......\........./*...........++-**...... ...............-/*...........//-*....... ....#.........\.-.............|-........ ....#.........-.*.............:+\....... ................+.......-......=3D:....... Thanks for letting me play too. Anthony Moralez ------=_Part_3904_12099786.1129088559750--