Painting and Drawing

Summary

Mentor(s): Dr. Mike Murphy
Project Type: Software development and engineering; user interface design
Technologies: Python, Qt (PySide6 and Qt Designer), Generative AI, Git
Undergraduate Credit: CSCI 399, CSCI 490
Graduate Credit: IST 659
Locality: Main campus and/or remote

Purpose

Desktop computers normally have some type of drawing/painting program available for performing basic image manipulation. Microsoft Paint, for example, dates all the way back to Windows 1.0. Today, Microsoft has added AI generation to Paint, complete with a hidden watermark that can allegedly identify the user who created the image. Even if local AI models are used for image generation, the prompts are first sent to Microsoft for "moderation" to determine if the generated image will be allowed.

For our lightweight Linux desktop, there are a few existing choices of painting applications available, which (so far) do not include the AI watermarking "feature." KDE's KolourPaint is probably the best example of this type of simple drawing application. However, it comes with dependencies that for whatever reason include the KWallet password manager. MyPaint is an alternative with fewer dependencies, but it doesn't seem to be as easy to use.

Scope of Work

Create a Python + Qt for Python (PySide6) application that is easy to use like KolourPaint, but which does not have KDE dependencies. The application should allow for basic painting and drawing, opening image files, saving image files, and printing. Local generative artificial intelligence (AI) is a potential additional feature.