This is a drawing application we created during our time at university. Think of it as our own take on Microsoft Paint (but on a smaller scale), but with some cool programming concepts thrown in.
We're a team of 4 students from Faculty of Automatic Control and Computer Engineering:
- Rareș-Ștefan Asaftei
- Robert-Constantin Grigoraș
- George-Cristian Slabu
- Alexandru Vezeteu
So basically, we wanted to create a drawing app that doesn't suck. You know how sometimes simple software can be really frustrating to use? We tried to avoid that. Our app lets you:
- Draw with different tools (pencil, shapes, lines)
- Pick colors from a palette or use a fancy color picker
- Save your masterpieces in different formats
- Actually undo your mistakes (this was the tricky part!)
If you want to check out some simple drawings, we have a separate folder with the documentation that contains them, so feel free to have a look!
We used C# and Windows Forms because, well, that's what we were learning. But we also had to implement some pretty interesting programming concepts:
The coolest part? We implemented something called the Memento Pattern for the undo feature. Sounds fancy, right?
Here's the basic idea: every time you draw something, we secretly save a snapshot of your canvas. When you hit undo, we just restore the previous snapshot. It's like having a time machine for your drawings!
// This is how we save your drawing state
public void Save() {
_history.Push(_originator.Save());
}
// And this is how we bring it back
public void Undo() {
if (_history.Count > 0) {
Originator.Memento snapshot = _history.Pop();
_originator.Restore(snapshot);
}
}
Pretty neat, huh? We can remember up to 20 of your last actions.
We made sure the drawing feels smooth and responsive. When you move your mouse, the line appears instantly (well, within 50 milliseconds).
- Pencil: For when you want to draw freehand
- Shapes: Rectangles, circles, and straight lines
- Fill Tool: Like the paint bucket - fills areas with color
- Color Picker: 28 pre-made colors plus a fancy color chooser
- Create new drawings
- Open existing images (BMP, JPG, PNG)
- Save your work
- The app even warns you if you're about to lose unsaved work (we've all been there!)
The app comes with built-in help that explains:
- How each drawing tool works
- Keyboard shortcuts for common actions
- Step-by-step guides for basic tasks
- Tips for getting the best results
Everything is explained in simple terms. Screenshots and detailed visual guides are available in our project documentation.
If you're into the technical side of things, here's what we used:
- Language: C# (because it's what we're learning)
- Framework: .NET Framework 4.7.2
- UI: Windows Forms (old school but reliable)
- Architecture: We followed the Model-View-Controller pattern
- Design Pattern: Memento pattern for undo functionality
We actually tested this features:
- Drawing responds in under 50 milliseconds
- Files up to 2MB save in under 5 seconds
- App starts up in under 3 seconds
- Undo happens instantly (under 100ms)
System Requirements:
- Windows 10 or newer
- At least 2GB RAM
- About 100MB of free space
- A mouse (touchpad works too, but mouse is better for drawing)
To run it:
- Make sure you have .NET Framework installed
- Download our app
- Run it and start drawing!