Wimdows.NET

Wim's .NET blog

ASCII Art with variable pixel squares...

After the recent ASCII art blogs by Omer and Raj, I thought I'd have a little play around as well. I prefer gray-scale ASCII art to color, and decided to follow Raj's approach (one difference in gray-scale palette: " `.~:;I=i+oO08#M"), but allow for variable pixel square sizes. Haven't seen Raj's code, but it looks like 1 pixel always maps to one character, although it's quite common in ASCII art for a set of pixels to map to one character. Let's see some code:

private static string grayscalepalette=" `.~:;I=i+oO08#M";

public static
 string GetGrayScaleHtml(Bitmap bm,int pixelsquare)
{
 
StringBuilder sb = new StringBuilder();
 
for(int y=0;y<bm.Height-pixelsquare;y+=pixelsquare)
 
{
   
for(int x=0;x<bm.Width-pixelsquare;x+=pixelsquare)
   
{
     
int luminationtotal=0;
     
int lumination=0;
     
for (int i=0;i<pixelsquare;i++)
      
{
       
for (int j=0;j<pixelsquare;j++)
       
{
         
Color c = bm.GetPixel(x+i,y+j);
         
lumination = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
         
luminationtotal+=lumination;
       
}
      
}
     
sb.Append(GetGrayScaleChar((int)(luminationtotal/(pixelsquare*pixelsquare))));
    
}
    
sb.Append(Environment.NewLine);
 
}
  
return sb.ToString();
}

private static char GetGrayScaleChar(int lumination)
{
  
int index = (int)(((grayscalepalette.Length-1)/255.0) * lumination);
 
return grayscalepalette[grayscalepalette.Length-1-index];
}



As you can see, we now pass a pixelsquare parameter in, and its squared value maps to one ASCII character.

See the example ASCII art image below, using pixelsquare=3, so 3x3 pixels now map to one character.

                                        `````~:~```              
                                        ``:o8MMMO~`              
                                  ```````+MOI~.:O#.```           
                                  ``````I+I.`````0+```           
                                  ```.~::::~~~~.`=8```           
                                ```.~~:::::::::~~~I~````         
                                ``~~~::::::::::::~~~;~``         
                                `~~~::::::::::::::~~~:.`         
                             ```~~~::::::;;;;;:::::~~~.````      
                             ``.~::::::;;;;;;;;::::~~~~.```      
                             ``~~:::::;;;;;;;;;;::::~~~~```      
                             `.~:::::;;;;;;;;;;;::::~~~~.``      
                             `~~:::::;;;;;;;;;;;;:::~~~~~``      
                          ```.~~::::;;;;;;;;;;;;;:::~~~~~.`      
                          ```~~~:::;;;;;;;II;;;;;::~~~~~~.`      
                          ``.~~::::;;;;;IIIIII;;;:::~~~~~.`      
                          ``.~~::::;;;;IIIIIIII;;;::~~~~~~`      
                          ``~~~:::;;;;IIIIIIIII;;;::~~~~~~`      
                        ```.~~:::;;;;;IIIIIIIII;;;:::~~~~~`      
                        ```~:::::;;;;IIIIIIIIII;;;:::~~~~.`      
                        ``~~:::;;;;;;;;;;IIIIII;;;:::~~~~.`      
                        `~~~::;;;;;;;::::::;;II;;::::~~~~.`      
                        .~:::;;;;;::::;;;;::::;;;::::~~~~``      
                        ..~;:;;;;:::;IIIIII;::::;:::~~~~.``      
                     ````~.~;;;;;::;I======I;:~~::::~~~~.``      
                     ```=M=.:I;;;:;Iii=i++i=I;~~::::~~~~```      
                  ``````;+:~:II;;;=I.``..~i+=I:~~:::~~~~```      
                  ``````.~:;;I=;;II``.i#=``I+=;:~:::~~~.         
                   `````~:;IIIiIII``..I0I.``iiI:~:::~~~`         
                   ````.~;I===iII:``.~:::~``.+=:::::~~~````      
                   ````.:;I===+==.``~:;;::.``i=;:::~~~;````      
                  ````..~;I==ii==.`.:;;I;:~``==;:::~~:00```      
                     `..~:;I=i=I=~.~:;III;~.`=I::::~~i#+         
                     ``.~::;;I;I=;~~:;III;~.`iI::::~:8#:         
                     ```.~::::;I=i;::;II;:~.;=;:::::+#0`         
                     ```.:;;;:;Iio+I;;;;;:~~iI;;;::;8#+`         
                     ```~:;I;;;Iio0o=II;;:;+=I;;;::+##;`         
                     ```~;III;;Iio000o+ii++iII;;;::;0#``         
                     ```~;;IIIIIiO800Ooo++i=II;;:::;::``         
                     ``:=;;III=i0###80oo+ii=I;;;:::;::.`         
                     `~==i==i+O8088###8Oo+i=I;;;::;:::.`         
                     `I=ii+oO##0OO000000O+i=I;;;::::~:``         
                  ```:==ii+oO880OOOOOOoooo+=I;;::::::~``         
                  ``.I==ii+oO0000000Ooo+ii+iI;;::::::.``         
                  ``:===ii+oO00888880Oo+i==iI;:::;::.```         
                  ``I==ii++oO088##880Oo+i====;:::~.`````         
                  `~===ii++oO088###880o+i====;::~`````           
                  `:==iii++oO08####880O+ii==I;::.`````           
                  `~=iiii++oO08888800Oo+iiiiI;:~.``              
                  ``Iii++++oOO0000OOOOOo+I+OI;:~.``              
                  ```;ii++oooOOOOO0080Oi:~=0I::~```              
                     `~=+oOO0888####0i;~~~+O;::~```              
                     `~;.:Ii+oOOo+iI;:::~:#+;::~```              
                     `.i..~~~::;;;;;;;:::O0I;::~```              
                     ``ii:~~~::;;;;;;::I00iI;::~```              
                     ``:+oiI:::;;;;;;=O#0+I;;::~```              
                     ` `;+ooOo++++o0###O+=I;;:::.``              
                     `` `~ioOO08#####0ooi=I;;;:.```              
                    ````.`:=+oO000OOOOoi==III:.```````           
                  ````````~Ii+ooOooOOo++ii=;~.````````           
                  `````````=+i==i+++ooo+=;:~..````````           
                ``````````.;+o====i++i=I;:~~..````````           
                ``````````~~i++===iiIII;;:~~..```````            
                `````````~;::+oi===:;I;;;::~..```````            
             ```````````.:I:~=++i=:::I;;;::~..``````````         
             ```````````~I:~.:io+::I:;;;;::~..`````.````         
        `   ```````````.;:~~~.I+;:I;::;;;::~~.`````````` ``      
        ``````````````.:;~.~~~~::I;::~;;::::~.```.`````````      
        ```````````.```~~..~~~~::::::~:;::::~......````````      
        ``````````..````...~~~:~~:::::~;:::~~~..~~...````````    
        ``````````..```....~~~~~::::;:~::::::~.~~~...`````````   
        ``````.```..```....~~~~~:::::;::;;;;:~~::~....````````   
        `````...`...```...~~~~~~:::::;;;;;;::~~::~~~..````````   
        `````.......```...~~~~~:::::::;;;;:::::::::~~..```````   
        `````....~~.``....~~~~~:::::::;;;;::::::::::~~..`````` ` 
        `````.....~~``....~~~~~:::::::;;;;;:::;:::::::~..``````` 
        ``````....~~~.....~~~~~:::::::;;;;;:::;:::::::~..``````` 
        ```````...~~::...~~~~~~::::::;;;;;;::;::::;:::~~..`````` 
        ```````...~~::::~~~~~~:::::::;;;;;;::;:::;;;:::~..`````` 
        ````````...~~:::;::~::::::::::;;;;;;;;:::;;;:::~~.`.```` 
           ``````...~~::::;;::::::::;;;;;;;;;;:::;;;:::~~...```` 
          ````````..~~~~:::::;;;;;:;;;;;;;;;;I;::;;;:::~~..````` 
          `` ``````...~~~~~::::;;;;;;;;;;;;;;;;;;;;;;::~..`````` 
             ```````....~~~~~~:::::::::::::::::::::~~~...`````   
              ```````.......~~~~~~~~~~~~~~~~~~~~~~~....``````    
               ````````.........~~~~~~~~~~~~~.......`````````    
                ````````````...................````````````      
                ```````````````````````````````````````````      
                  `````````````````````````````````              
                  `````````````````````````````````              
                      ``    ```````````````` ``                  

Original image can be found here.

Enjoy toying around!

Edited, since I forgot to add the GetGrayScaleChar method.

Posted: Jul 31 2004, 04:45 PM by Wim | with 193 comment(s)
Filed under: ,

Comments

Bhavesh said:

That's a gneuniley impressive answer.

# March 24, 2012 2:02 AM

Motivation to lose weight said:

wG1DpC Say, you got a nice blog post. Awesome.

# April 8, 2012 11:17 AM

backyard patio designs said:

I truly appreciate this blog post. Want more.

# April 10, 2012 5:30 AM

web hosting reviews said:

I really enjoy the blog article.Really looking forward to read more. Really Great.

# April 10, 2012 6:08 AM

link building services india said:

Really appreciate you sharing this blog article.Thanks Again. Really Cool.

# April 10, 2012 8:03 AM

pompe chaleur said:

Im obliged for the post.Really looking forward to read more. Great.

# April 11, 2012 6:38 AM

how to get rid of bats said:

Enjoyed every bit of your article post.Really looking forward to read more. Really Cool.

# April 11, 2012 10:20 AM

windshield replacement said:

Thanks for the blog.Much thanks again.

# April 11, 2012 12:55 PM

best way lose belly fat said:

I am so grateful for your blog article. Fantastic.

# April 11, 2012 1:00 PM

Kevin Rubel Marketing said:

Really enjoyed this blog post.Thanks Again. Cool.

# April 11, 2012 2:11 PM

business telephone systems said:

Major thanks for the article.

# April 11, 2012 2:17 PM

Travel Services said:

Im grateful for the post.Thanks Again. Fantastic.

# April 11, 2012 4:45 PM

funny autocorrect said:

I am so grateful for your post.Really looking forward to read more. Keep writing.

# April 11, 2012 4:52 PM

total football trading said:

Hey, thanks for the article.Thanks Again. Keep writing.

# April 11, 2012 6:01 PM

tarot said:

Im obliged for the article.Really looking forward to read more. Really Great.

# April 11, 2012 6:09 PM

seo tips said:

wow, awesome post.Really looking forward to read more. Awesome.

# April 11, 2012 7:17 PM

relationship selling secrets to keep clients said:

Awesome article.Thanks Again.

# April 11, 2012 7:27 PM

speed wordpress said:

A round of applause for your article.Thanks Again. Much obliged.

# April 11, 2012 8:34 PM

Twitter Volgers said:

Thanks so much for the article. Fantastic.

# April 11, 2012 8:45 PM

dildo said:

Major thanks for the article post. Fantastic.

# April 11, 2012 9:50 PM

vendita reti a doghe in legno e ferro said:

Very neat article.Much thanks again. Cool.

# April 11, 2012 11:44 PM

Phen375 Reviews said:

Awesome post.Much thanks again. Cool.

# April 12, 2012 12:24 AM

Tech Reviews said:

Very informative blog article.Much thanks again. Much obliged.

# April 12, 2012 12:39 AM

dope couture snapback hats said:

Fantastic post.Thanks Again. Want more.

# April 12, 2012 1:42 AM

iphone 5 release date said:

I truly appreciate this post. Want more.

# April 12, 2012 1:59 AM

lawfirm in london said:

Major thanks for the article post. Great.

# April 12, 2012 3:02 AM

water systems said:

Thanks again for the blog.Thanks Again. Cool.

# April 12, 2012 3:18 AM

body pillows said:

Really informative blog post.Thanks Again. Much obliged.

# April 12, 2012 4:15 AM

implant dentist palm beach dentistry said:

I value the blog article.Really looking forward to read more. Cool.

# April 12, 2012 4:38 AM

car discount stereo said:

Thanks for sharing, this is a fantastic article.Thanks Again. Really Cool.

# April 12, 2012 5:21 AM

personalised photo frames said:

I am so grateful for your article.Thanks Again.

# April 12, 2012 6:40 AM

saree said:

Major thanks for the blog. Will read on...

# April 12, 2012 6:41 AM

Wie Affiliate Marketing funktioniert said:

Thanks for sharing, this is a fantastic post.Thanks Again. Want more.

# April 12, 2012 8:00 AM

all one word men4rent said:

Im obliged for the blog article.Thanks Again. Keep writing.

# April 12, 2012 9:16 AM

google virus redirect removal said:

Im thankful for the article post.Thanks Again. Fantastic.

# April 12, 2012 11:37 AM

Wirtschaftsfachwirt said:

Great blog post. Want more.

# April 12, 2012 12:01 PM

remove google redirect virus said:

I am so grateful for your blog post. Keep writing.

# April 12, 2012 1:02 PM

how can i get money said:

I truly appreciate this article. Keep writing.

# April 12, 2012 2:55 PM

virus google redirect said:

Really enjoyed this post. Really Great.

# April 12, 2012 3:51 PM

cannabist said:

Great blog post.Really looking forward to read more. Will read on...

# April 12, 2012 4:04 PM

backlinksmaster said:

I really liked your article post.Thanks Again. Much obliged.

# April 12, 2012 5:26 PM

Cheap Asus Laptop Sale said:

Fantastic article.Much thanks again. Want more.

# April 12, 2012 5:40 PM

oil absorbing polymer said:

Thanks again for the article.Really looking forward to read more. Will read on...

# April 12, 2012 6:44 PM

redirect virus google said:

This is one awesome blog.Much thanks again. Keep writing.

# April 12, 2012 7:04 PM

redirect virus google said:

Thanks a lot for the post.Really looking forward to read more. Much obliged.

# April 12, 2012 8:25 PM

Cell phone charger said:

Really informative article.Really looking forward to read more. Really Cool.

# April 12, 2012 9:23 PM

Stun Guns said:

I truly appreciate this article post.Thanks Again. Awesome.

# April 12, 2012 9:49 PM

goldfish care tips said:

Appreciate you sharing, great article.Thanks Again. Really Great.

# April 12, 2012 10:44 PM

Best Boutique Hotels said:

Thanks so much for the blog post.Thanks Again. Awesome.

# April 13, 2012 12:40 AM

Gibson Les Paul Studio Review said:

I truly appreciate this post.Thanks Again. Much obliged.

# April 13, 2012 5:26 AM

email marketing said:

Say, you got a nice article.Really looking forward to read more. Really Cool.

# April 13, 2012 7:21 AM

10 best hosts said:

Very informative article.Thanks Again. Really Cool.

# April 13, 2012 8:45 AM

get targeted fans said:

Great blog article.Really looking forward to read more. Really Cool.

# April 13, 2012 8:48 AM

stamped concrete said:

Really appreciate you sharing this article.Really looking forward to read more. Awesome.

# April 13, 2012 10:11 AM

credit card processing said:

Appreciate you sharing, great post. Will read on...

# April 13, 2012 12:22 PM

personal trainer Portland said:

Im obliged for the article post.Thanks Again. Awesome.

# April 13, 2012 1:52 PM

how to train a dog said:

wow, awesome article post.Really looking forward to read more. Will read on...

# April 13, 2012 2:31 PM

unspoken rules of getting hired said:

Looking forward to reading more. Great blog.Really looking forward to read more. Much obliged.

# April 13, 2012 3:58 PM

Portland personal trainer said:

This is one awesome blog article. Much obliged.

# April 13, 2012 4:42 PM

Pulsa Murah said:

I really liked your blog article.Really looking forward to read more. Great.

# April 13, 2012 6:29 PM

personal trainer Portland said:

Really appreciate you sharing this blog post.Thanks Again. Will read on...

# April 13, 2012 7:33 PM

personal trainer Portland said:

Appreciate you sharing, great blog post. Will read on...

# April 13, 2012 8:59 PM

Domainnamen Business said:

A round of applause for your article. Awesome.

# April 13, 2012 9:19 PM

trabalho em casa said:

Very informative blog.Really looking forward to read more. Fantastic.

# April 13, 2012 10:45 PM

180seoreseller.com/collateral/ said:

Im grateful for the article post.Really looking forward to read more. Cool.

# April 13, 2012 11:52 PM

http://www.localmapseoexperts.com/contact/ said:

I value the article.Much thanks again. Awesome.

# April 14, 2012 1:20 AM

PAINTBALL MADRID said:

Im grateful for the article.Much thanks again. Keep writing.

# April 14, 2012 5:33 AM

social media said:

Really informative blog article. Want more.

# April 14, 2012 6:59 AM

iphone sim unlock said:

Great, thanks for sharing this article.Really looking forward to read more. Cool.

# April 14, 2012 10:03 AM

od&#380;ywki said:

Very informative blog article.Really looking forward to read more. Cool.

# April 14, 2012 3:29 PM

stamped concrete said:

Looking forward to reading more. Great blog post. Keep writing.

# April 15, 2012 4:52 PM

10 best hosts said:

Thanks-a-mundo for the blog post.Really looking forward to read more. Great.

# April 15, 2012 4:57 PM

how to get hired said:

Great, thanks for sharing this blog post.Thanks Again. Much obliged.

# April 15, 2012 7:42 PM

wedding cake book said:

This is one awesome article post.Thanks Again. Really Great.

# April 15, 2012 9:07 PM

Portland personal trainer said:

I value the blog article.Much thanks again. Really Cool.

# April 15, 2012 10:51 PM

rifle said:

I loved your blog.Really looking forward to read more.

# April 15, 2012 11:58 PM

Portland personal trainer said:

Really informative article.Thanks Again. Awesome.

# April 16, 2012 12:22 AM

PAINTBALL MADRID said:

I am so grateful for your blog.Really looking forward to read more. Really Great.

# April 16, 2012 1:25 AM

Portland personal trainer said:

I loved your post.Really looking forward to read more. Awesome.

# April 16, 2012 1:58 AM

social media said:

Really informative blog.Really looking forward to read more.

# April 16, 2012 2:52 AM

personal trainer Portland Oregon said:

Im thankful for the post.Much thanks again. Fantastic.

# April 16, 2012 3:37 AM

band said:

I really like and appreciate your post.

# April 16, 2012 6:52 AM

Domainnamen finden said:

Im grateful for the blog.Much thanks again. Much obliged.

# April 16, 2012 8:18 AM

perfume testers for sale said:

Awesome blog.Much thanks again. Awesome.

# April 16, 2012 9:47 AM

blocked toilet said:

Very neat post. Will read on...

# April 16, 2012 11:17 AM

Minerva Place said:

I loved your blog article.Much thanks again. Really Cool.

# April 16, 2012 11:48 AM

Stanley Steemer said:

nyTOZx Say, you got a nice blog article.Much thanks again. Really Cool.

# April 16, 2012 12:44 PM

romance novels online said:

Im obliged for the blog article. Keep writing.

# April 16, 2012 12:48 PM

real online visitors said:

I value the post. Cool.

# April 16, 2012 1:18 PM

educational consulting jobs said:

Appreciate you sharing, great blog post.Really looking forward to read more. Will read on...

# April 16, 2012 2:48 PM

electrician vancouver said:

Really enjoyed this article.Really looking forward to read more. Really Cool.

# April 16, 2012 5:44 PM

Salwar kameez said:

Thanks again for the blog.Thanks Again. Keep writing.

# April 16, 2012 7:14 PM

job said:

Thanks for sharing, this is a fantastic blog post.Really looking forward to read more. Great.

# April 17, 2012 2:19 AM

actividades para singles said:

Major thanks for the blog article.Much thanks again. Will read on...

# April 17, 2012 3:04 AM

buy facebook like said:

I truly appreciate this blog.Much thanks again. Cool.

# April 17, 2012 3:18 AM

google tv said:

I value the blog.Much thanks again. Great.

# April 17, 2012 3:47 AM

paris hotel deals said:

Thanks for sharing, this is a fantastic blog. Cool.

# April 17, 2012 4:45 AM

affiliate revolution bonus said:

Hey, thanks for the blog article.Much thanks again. Fantastic.

# April 17, 2012 7:26 AM

search engine marketing said:

Very neat article post.Thanks Again. Fantastic.

# April 17, 2012 7:41 AM

music visualizer said:

wow, awesome blog.Thanks Again. Want more.

# April 17, 2012 8:55 AM

womens said:

Really informative post. Keep writing.

# April 17, 2012 9:11 AM

virtuelle assistenz said:

Really enjoyed this article.Thanks Again. Want more.

# April 17, 2012 9:45 AM

silver jewellery sterling said:

Wow, great blog post.Much thanks again. Want more.

# April 17, 2012 10:40 AM

Cheap wedding dresses said:

Thanks for the blog post.Thanks Again.

# April 17, 2012 12:41 PM

public records said:

Great, thanks for sharing this blog.Really looking forward to read more. Great.

# April 17, 2012 1:00 PM

search engine optimizing said:

Very good article. Will read on...

# April 17, 2012 2:10 PM

swiss watches said:

Im thankful for the blog article. Awesome.

# April 17, 2012 2:51 PM

teaching your kids the importance of good health with online resources said:

Thanks so much for the article.Much thanks again. Cool.

# April 17, 2012 4:18 PM

wicklow coach tours said:

Enjoyed every bit of your blog post.Much thanks again. Really Great.

# April 17, 2012 4:39 PM

cam4 said:

I really liked your article.Thanks Again. Cool.

# April 17, 2012 5:06 PM

calculator said:

Really appreciate you sharing this blog post.Much thanks again.

# April 17, 2012 5:46 PM

Diabetes Treatment said:

A round of applause for your post.Much thanks again. Want more.

# April 17, 2012 6:34 PM

Atlantic City hotels said:

Muchos Gracias for your blog. Will read on...

# April 17, 2012 7:14 PM

publish my book said:

Thanks-a-mundo for the post.Much thanks again. Really Great.

# April 17, 2012 8:01 PM

Music Mix Country said:

I really like and appreciate your blog article.Much thanks again. Keep writing.

# April 17, 2012 10:58 PM

low-income phone said:

I am so grateful for your blog.Really looking forward to read more. Fantastic.

# April 18, 2012 12:26 AM

discount products online said:

I really like and appreciate your blog post. Really Cool.

# April 18, 2012 3:26 AM

seo said:

I am so grateful for your article post. Cool.

# April 18, 2012 4:57 AM

how to overcome your fear of flying said:

Thanks a lot for the post.Much thanks again. Want more.

# April 18, 2012 6:27 AM

men dating tips said:

Looking forward to reading more. Great blog.Really looking forward to read more. Cool.

# April 18, 2012 6:52 AM

garages for sale said:

Thanks so much for the blog.Thanks Again. Really Cool.

# April 18, 2012 7:56 AM

how to get hired said:

Enjoyed every bit of your article.Thanks Again.

# April 18, 2012 8:19 AM

weed online said:

wow, awesome blog article.Really looking forward to read more. Will read on...

# April 18, 2012 10:11 AM

naples hotels said:

Im obliged for the blog article.Thanks Again. Great.

# April 18, 2012 2:05 PM

berlin hotels said:

Fantastic blog post.Thanks Again.

# April 18, 2012 3:37 PM

custom signage said:

Major thankies for the blog post.Much thanks again.

# April 18, 2012 6:41 PM

seo india said:

Say, you got a nice blog.Thanks Again.

# April 18, 2012 8:18 PM

Limo Hire Derby said:

I really liked your article.Really looking forward to read more. Want more.

# April 18, 2012 9:46 PM

business cards said:

I value the article post.Thanks Again. Much obliged.

# April 18, 2012 11:18 PM

Petrol Stations for Sale said:

Awesome post. Want more.

# April 19, 2012 12:52 AM

Cheap Flat Screen Tv said:

Fantastic blog post.Much thanks again. Awesome.

# April 19, 2012 12:56 AM

kdl55ex720 said:

Muchos Gracias for your article.Really looking forward to read more.

# April 19, 2012 2:29 AM

attorney said:

Very neat post.Thanks Again. Really Cool.

# April 19, 2012 4:04 AM

Radiologist salary said:

Thanks for the post.Really looking forward to read more. Keep writing.

# April 19, 2012 6:30 AM

Bristol Airport Hotels said:

Muchos Gracias for your article. Want more.

# April 19, 2012 7:14 AM

web design company in chicago said:

A round of applause for your blog post.Much thanks again. Awesome.

# April 19, 2012 8:06 AM

bat removal cost said:

I appreciate you sharing this blog.Much thanks again. Really Great.

# April 19, 2012 12:50 PM

southern alberta water services said:

I really enjoy the blog post.Much thanks again. Great.

# April 19, 2012 3:15 PM

hawaii housing said:

I really like and appreciate your article.Really looking forward to read more. Much obliged.

# April 19, 2012 4:04 PM

Joomla Extensions 1.5 said:

Looking forward to reading more. Great post.Really looking forward to read more.

# April 20, 2012 7:44 AM

Joomla 1.0 Modules said:

Appreciate you sharing, great blog article.Thanks Again. Much obliged.

# April 20, 2012 7:44 AM

webcams said:

Thanks for sharing, this is a fantastic article.

# April 20, 2012 9:19 AM

business cards said:

Im thankful for the blog article.Thanks Again. Great.

# April 20, 2012 10:05 AM

website design jacksonville said:

Really appreciate you sharing this blog article.Thanks Again. Really Great.

# April 20, 2012 11:45 AM

sushi culinary class said:

Muchos Gracias for your blog article.Really looking forward to read more. Much obliged.

# April 20, 2012 3:09 PM

Jamie Gallinger said:

Say, you got a nice post.Thanks Again.

# April 20, 2012 9:43 PM

Protect the environment said:

Say, you got a nice blog post.Really looking forward to read more. Will read on...

# April 21, 2012 1:36 AM

wedding dresses said:

Great, thanks for sharing this blog post. Great.

# April 21, 2012 4:21 AM

Pete Busack said:

Enjoyed every bit of your blog article.Really looking forward to read more. Fantastic.

# April 21, 2012 7:40 AM

disney movie trailers said:

Hey, thanks for the blog post. Much obliged.

# April 21, 2012 8:46 AM

Android themes said:

Wow, great blog article.Thanks Again. Will read on...

# April 22, 2012 2:26 PM

watch movies online said:

I really enjoy the article post.Really looking forward to read more. Cool.

# April 24, 2012 8:13 AM

what to eat to lose belly fat said:

I truly appreciate this blog.Thanks Again. Really Cool.

# April 25, 2012 3:24 AM

skin wefts said:

Thanks again for the blog article. Really Cool.

# April 25, 2012 9:06 AM

what to eat to lose belly fat said:

I am so grateful for your blog post.Thanks Again. Really Great.

# April 25, 2012 1:16 PM

computer repair service said:

This website online is really a walk-via for all of the data you wished about this and didn’t know who to ask. Glimpse here, and also you’ll positively discover it.

# June 26, 2012 6:44 PM

online bank accounts said:

Thanks for the post.Really looking forward to read more. Much obliged.

# June 29, 2012 2:21 PM

makeup artist said:

I truly appreciate this article post. Awesome.

# June 29, 2012 5:42 PM

Logistica Magazzino said:

I truly appreciate this post.Thanks Again. Will read on...

# June 29, 2012 7:54 PM

Bedrijfsuitje said:

I truly appreciate this article post.Really looking forward to read more.

# June 29, 2012 8:46 PM

seo toronto said:

I appreciate you sharing this article.Thanks Again. Great.

# June 29, 2012 10:05 PM

discount perfume said:

Very neat post.Much thanks again. Awesome.

# June 29, 2012 10:07 PM

computer repair cobham said:

Great, thanks for sharing this post. Really Cool.

# June 29, 2012 10:50 PM

Top of Google said:

Thanks for sharing, this is a fantastic blog post.Much thanks again. Keep writing.

# June 30, 2012 12:12 AM

text your ex back examples said:

Wow, great article.Thanks Again.

# June 30, 2012 12:15 AM

Review Of HostGator said:

Say, you got a nice blog post.Much thanks again. Cool.

# June 30, 2012 5:05 AM

find a local home inspector said:

I truly appreciate this article.Really looking forward to read more. Will read on...

# June 30, 2012 7:12 AM

cute quotes said:

Thanks for the blog.Really looking forward to read more. Cool.

# June 30, 2012 7:34 AM

Polished Pebble Tiles said:

Im thankful for the blog article.Much thanks again. Will read on...

# June 30, 2012 8:37 AM

Wooden Greenhouse said:

I truly appreciate this article post.Much thanks again.

# June 30, 2012 1:46 PM

Credit Repair said:

Hey, thanks for the post.Thanks Again. Cool.

# June 30, 2012 3:56 PM

best treatment for shingles said:

I truly appreciate this article post.Much thanks again. Really Cool.

# July 2, 2012 9:47 AM

Coffee said:

Im obliged for the blog post.Thanks Again. Awesome.

# July 6, 2012 11:52 AM

best anti aging treatments said:

Muchos Gracias for your blog.Much thanks again. Great.

# July 6, 2012 5:34 PM

Buy Hidden Cameras said:

Hey, thanks for the blog post.Thanks Again. Cool.

# July 6, 2012 7:14 PM

Birthday Photo Cards said:

This is one awesome blog.Much thanks again. Really Cool.

# July 6, 2012 10:15 PM

Voikase 16 said:

Major thanks for the article.Thanks Again. Really Great.

# July 7, 2012 12:52 AM

Above Ground Pools said:

Awesome blog.Really looking forward to read more.

# July 7, 2012 6:12 AM

Best ZZ502 said:

wow, awesome article post.Thanks Again.

# July 7, 2012 2:36 PM

Samsung active 3d glasses said:

I think this is a real great blog.Much thanks again. Really Great.

# July 7, 2012 8:13 PM

Donate Motor said:

Really informative article.Much thanks again. Really Great.

# July 7, 2012 11:13 PM

Donation of Your Car said:

Awesome blog article.Thanks Again. Awesome.

# July 8, 2012 2:58 AM

Invicta Watch said:

Muchos Gracias for your article post. Want more.

# July 8, 2012 12:41 PM

Mobile Android Application Development said:

I am so grateful for your post.Much thanks again. Awesome.

# July 8, 2012 6:43 PM

Web Based Crm Online said:

Major thankies for the blog post.Really looking forward to read more. Fantastic.

# July 9, 2012 12:36 AM

Buy Queen Size Bedding said:

Thanks a lot for the post.Really looking forward to read more. Fantastic.

# July 9, 2012 3:37 AM

Make Money With Your Mobile Phone said:

Say, you got a nice article.Thanks Again. Want more.

# July 9, 2012 8:45 AM

Reverse Email Address Search said:

Great blog.Really looking forward to read more. Cool.

# July 9, 2012 11:11 AM

People Search Engine said:

Im grateful for the blog.Much thanks again. Want more.

# July 9, 2012 4:05 PM

oem software online said:

JkrlrV Great, thanks for sharing this blog post.Much thanks again. Want more.

# August 15, 2012 12:10 AM

cheap seo services said:

yhcQOu I appreciate you sharing this article post.Really looking forward to read more. Keep writing.

# October 18, 2012 11:16 PM

cheap seo services said:

nI5aWl Really appreciate you sharing this article.

# November 5, 2012 1:40 AM