https://github.com/limafresh/brushshe
Painting app, written in Python and CustomTkinter
https://github.com/limafresh/brushshe
brushshe ctk ctkinter customtkinter customtkinter-color-picker customtkinter-menu customtkinter-messagebox customtkinter-project customtkinterprojects drawing-app drawing-application free-software paint-app paint-application paint-program python-app python-paint python3 simple-paint-app ukrainian
Last synced: about 1 month ago
JSON representation
Painting app, written in Python and CustomTkinter
- Host: GitHub
- URL: https://github.com/limafresh/brushshe
- Owner: limafresh
- License: gpl-3.0
- Created: 2024-09-18T07:11:00.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-04-10T17:52:36.000Z (about 1 month ago)
- Last Synced: 2025-04-10T18:59:43.063Z (about 1 month ago)
- Topics: brushshe, ctk, ctkinter, customtkinter, customtkinter-color-picker, customtkinter-menu, customtkinter-messagebox, customtkinter-project, customtkinterprojects, drawing-app, drawing-application, free-software, paint-app, paint-application, paint-program, python-app, python-paint, python3, simple-paint-app, ukrainian
- Language: Python
- Homepage:
- Size: 3.46 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Brushshe - painting app

![]()
## Description
**Brushshe** is a simple raster graphical editor, written on Python 3, CustomTkinter and PIL.
[View more screenshots](https://github.com/limafresh/Brushshe/discussions/2)
## ⬇️ Installation
### Download Brushshe for Windows 64bit
[](https://github.com/limafresh/Brushshe/releases)**or**
### Run via Python
1. Install [Python 3](https://www.python.org/downloads/), if not installed;
2. Download the code and unpack downloaded archive:[](https://github.com/limafresh/Brushshe/tags)
3. Install *CustomTkinter* and *Pillow* - open terminal or command line and enter:
```bash
pip install customtkinter Pillow
```
4. Run file `Brushshe/brushshe.py`.## 🚀 Functionality
### Open
You can open a picture from a file.
### Painting
You can choose a color, change the brush thickness, and paint. You can change canvas size.
### Save to device
You can save picture to your PC in different formats (PNG, JPG, GIF, BMP, TIFF, WEBP, ICO, PPM, PGM, PBM).
### Undo and redo
You can undo and redo 10 last actions. There are buttons on toolbar and hotkeys (Ctrl+Z - undo, Ctrl+Y - redo).
### Eraser
Removing excess with an eraser.
### Fill
Can fill areas of a drawing. Can work slowly on large areas, and not work on RGBA-images.
### Eyedropper
Right click on the desired place on the canvas to get its color and paint with it.
### Background
You can choose the background color.
### Stickers
You can add stickers from Brushshe sticker set (all sticker images are drawn by me or created by AI) and resize them. You can also add a sticker from a file.
### Text
You can place text and change its size.
### Frames
You can decorate the picture with frames.
### Shapes
Rectangle and oval (with or without fill), line, bezier curve.
### Effects
Blur, detail, contour, grayscale, inversion and other. Not work on GIF images.
### My Gallery
Window showing images drawn in Brushshe and "saved to gallery". Images from the gallery are stored in `/Pictures/Brushshe Images` or `/Brushshe Images` on some minimalistic Linux distributions. For saving there is a button "Save to gallery" in toolbar and hotkey Ctrl+S.
### Dark theme
There is a system, light and dark theme.
### Rotate
Rotate right, rotate left.
### Create screenshot
You can take a screenshot and draw on it. Not work on Linux with Wayland.
### View (beta)
Zoom in, zoom out.## Goal of project
The goal of the project is to provide a open-source, convenient, beautiful and multifunctional painting app using the CustomTkinter toolkit.## Credits
+ Thanks [Akascape](https://github.com/Akascape) for CTkColorPicker, CTkMenuBar, CTkMessagebox and CTkToolTip.
+ Thanks [Chip Viled](https://github.com/chipviled) for conributing.## Translations
The internationalization of this program has a simple principle - it determines what the computer's localization is (for example, *en*, *ru*, etc.), and then applies the `Brushshe/locales/{localization}.json` file, where *localization* is the computer's localization.## License
+ Project license - *GNU GPL v3*
+ CTkColorPicker, CTkMenuBar and CTkToolTip license - *CC0 1.0*
+ License for program translations (`Brushshe/locales/*.json`) - *CC0 1.0*
+ Fonts - *OFL*## For developers
### Linter
[Ruff](https://github.com/astral-sh/ruff) is used to maintain code cleanliness## 🎨🦅💪