Irregular Grid Painter

I took an intermediate VB.NET class as a community college, and had a final project due on May 13, 2003. My goal was to create an application that allowed a person to paint on irregularly shaped grids instead of being constrained to the square pixels of normal paint programs. The final project resulted in the Irregular Grid Painter (IGP).

This application is currently being put to use primarily in the chainmail community as a designer for inlays. Because it is still missing many features of a full paint application, it is usually better to draw up the inlay in another program and then load it into IGP for the final adjustments.

Version & Pattern History

2009.09.01 Version - Added validation code to Color Counter so choosing IGP won't crash when choosing lines that don't have colors. Also fixed Change Description InputBox so Cancel button works properly.

2005.05.02 Version - Changed a couple of objects from String to StringBuilder; Added a new error check to see if folder structure was extracted when unzipping the zip file (and inform the user if it was not).

2005.04.13 Version - Fixed About dialog to show correct version. Fixed bug in BuildImage that caused IGP to crash on some images.

2005.04.12 Version - Did some optimization in igpPattern.vb - Patterned images build about 4 times faster

2004.01.11 Version - Fixed error in PC Stitch 7 import.

2004.01.09 Version - Added "Save as text..." to Color Counter. Added PC Stitch 7 import.

2003.12.31 Version - Dunedon coded a Color Counter. It's been added to the standard IGP application and source downloads.

2003.10.29 Per Bastion's request, I've created a scale pattern. The new pattern has been added to the basic download, and is available on the menu as Patterns > Maille > Scale.

2003.08.30 Tawnos created a Euro 6-1 pattern. The new pattern has been added to the basic download, and is available on the menu as Patterns > Maille > European > 6-1: 4.883 AR - 16 ga. x 5/16 I.D.

Existing Features

  • Ability to add externally created tile patterns (bitmap creation will need to be performed elsewhere, such as MS Paint)

User Requested Features

These features are listed by priority, though if it's easy to add, I'll probably incorporate it before a difficult addition that's a higher priority.

  • Help
  • Print (Print Preview?)
  • Zoom out
  • Undo
  • Define materials, as well as import materials from other files
  • Materials report - total number of tiles, total number of subtiles of each material
  • One-click posterization of background image to material colors
  • Flood fill
  • Pen/Brush shapes
  • Lose dependence on .NET framework

Other Features I'd Like To Add

  • Change canvas size
  • New image dialog box will have inches/centimeters as possible units, instead of just tile columns/rows
  • Load and stretch a background image
  • POV-Ray scene export
  • Lines/Rectangles/Ellipses
  • Multiple document interface (you can open more than one file at a time)
  • Materials could have texture bitmaps, not just colors

Stuff that needs to be done

  • Rewrite Pattern class to change computer's understanding of pattern; this will allow for rotated patterns and will allow tile location to be calculated instead of found through brute force, which should allow for a considerable speed increase.

Valid XHTML 1.0! Valid CSS!