Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Random Image Generator

0.00/5 (No votes)
23 Jan 2007 1  
A small app to generate random images using various C# drawing functions.

Introduction

This application uses various C# drawing functions to generate random images that can be used as wallpapers, etc..

Background

I started this program to teach myself the basic C# drawing functions. I kept getting more and more suggestions from friends and fans, and the project kept growing until I had quite a nice little program.

Points of Interest

The file_location parameter in:

const int SPI_SETDESKWALLPAPER = 20;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDCHANGE = 0x2;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, file_location, 
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);

can lead to very spectacular crashes. If it is empty when the user clicks on "apply" then the computer is completely off in approximately 0 seconds. Just comment out the if statement at the beginning of the apply-button click function and right after starting the app, without having generated an image click "apply" (but make sure you've saved everything before you do it). I'm not sure why this happens but it's definitely an interesting bug in the user_32.dll. Anyone have a clue why this happens?

The anti-aliasing feature is also interesting, the difference is very evident. I wanted to build it in permanently, but then decided to leave it as an option because some things look better without anti-aliasing (i.e., pixel blocks->all colors).

How to use the app

Not much I can say here. You just have to try things out till you get a good image. Because it is all random, if you generate enough times, you'll get a good result. Layering the images usually produces cool results, especially with a pixel block background. The small picture mosaic is also a lot of fun - GIF images with a transparent background look especially cool. Enjoy!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here