Infinite Ink

Infinite Ink is a simple (read: primitive) paint program. It can only draw lines and circles of different thickness or size in the color you pick. You draw on a canvas that is always white. It's infinite. Well, it's really wide. You can scroll left and right for a very long distance. And draw anywhere you want.

Infinite Ink was inspired by a craft project I found on Make and then lost. The project featured a box with window on top and encasing a roll of paper inside. You draw on the paper and when you run out of space, use a knob to scroll the paper forward to reveal some fresh, blank space.

I thought to myself: "how cool is that." Then I thought about my fabrication skills, imagined several gallons of glue spilled on the floor, nails going through my hands, severed fingers. So I wisely decided to implement it in software. And here it is.

I also thought I could use it on my vintage tablet PC, a Fujitsu Point 1600, but it turned out that my unoptimized code combined with the demanding resources of GDI+ made it excruciatingly slow on this little 200MHz with 32 Mb of ram. I renember the day where 200MHz was screaming fast. Damn I'm old.

You can use this link to download. The source code is included. You can use it to do whatever you want. There is no license. There is no agreement, no restriction and most of all no warranty of any kind.

If you are not interested in the source code (and why would you?) the only thing you need is the InfiniteInk.exe file. Anything else, you don't have to keep. You also need the Microsoft .NET run time. Most XP installations should have it, and all versions of Vista do. If you happen to miss that piece, you can download it from Microsoft here.

If you download it, or don't, if you like it or hate it or want to thank me, or if you have a suggestion, critic, stomach ache, or feel the burning desire to contact me, drop me an email at tofu@idletofu.org. This is much appreciated.

A word of warning: there are a few features missing. Like exporting your artwork to a real image format. So please realize that whatever work of art you are painting with this version, you are stuck to display it in this program only. I'm hoping to write an export function soon.

I designed an interface that suit my needs, since I'm the primary audience of my own applications. This tends to make the interface not as intuitive as it should be. Let me include a nice screen shot with a bit of explanations attached. I know, the numbers are lame.

  1. Handy dandy color wheel. Click anywhere to pich a color. This is an interesting feature because it's pretty difficult to pick the same color twice. You'll see when you draw.
  2. The pen size can be from 1 to 1000 pixels wide (1000? WOW, that's big). The top scroll bar goes from 1 to 1000, and is not about being subtle. The second is better at fine tuning: from 1 to 150. And for the ultimate precision, the numerical value is provided.
  3. The pen size is reflected here along with the color. Sometimes the pen is so big you can't see it there. Also when it's too small it's hard to judge the color. So the color is also reflected in the big square on the right.
  4. Bonus feature: zoom level. Unfortunately, due to my crooksided programming and an unhealthy amount of lazyness, I stopped half-way. So when the zoom level is not exactly 1, you can't draw nothing. It would not take a lot to fix it, but I'm not that in a hurry.
  5. If you click and drag there, the canvas will scroll. If you double click, it will reset to the (0,0) location. The canvas only scroll left and right. It's a feature. If you wish it could scroll on all directions, be my guest, you have the source code.
  6. Various statistics that will be irrelevant to most. These numbers seem to go up the more you draw. Only the last number, behind the 'Z' is interesting. It's the zoom level from point 4. It's pretty handy to have because the scroll bar is not that precise and you need it to be at exactly 1 to be able to draw on the canvas.
  7. All them buttons self-explain, hopefully. There is an undo, but no re-do, so be careful. There is also no confirmation for any of these actions. Not even if you close the program without saving. Just know what you are doing.
  8. When this is checked, whatever you draw will end up under the existing drawing as soon as you release the mouse. This is really handy to fill existing shape or draw a background.
  9. This checkbox turn high quality drawing on/off. This tends to make drawing extra slow when on. But also more pleasing to the eye.