Brushshe is a raster graphical editor, written on Python 3, CustomTkinter and PIL.
or
or
- Install Python 3, if not installed;
- Download the code and unpack downloaded archive:
- Install CustomTkinter and Pillow - open terminal or command line and enter:
pip install customtkinter Pillow
- Run file
Brushshe/brushshe.py
.
- 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.
- Recoloring brush (new!): Draws through contours.
- 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.
- 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.
- Spray: Spray paint.
- 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
<user_home_folder>/Pictures/Brushshe Images
or<user_home_folder>/Brushshe Images
on some minimalistic Linux distributions. - Dark theme: There is a 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: Zoom in, zoom out, reset zoom.
- Change size: You can change the size by cropping or scaling.
- Ctrl+Z: undo
- Ctrl+Y: redo
- Ctrl+S: save to gallery
- X: flip colors
- B: brush
- E: eraser
- =: zoom in
- -: zoom out
- Shift + mouse scroll: scrolling the canvas horizontally
The goal of the project is to provide a open-source, convenient, beautiful and multifunctional painting app using the CustomTkinter toolkit.
All contributions are welcome!
- Do not use third-party libraries. Only standard Python libraries, CustomTkinter and Pillow/PIL.
- Thanks Akascape for CTkColorPicker, CTkMenuBar, CTkMessagebox and CTkToolTip.
- Thanks Chip Viled for conributing.
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.
- Project license - GNU GPL v3
- CTkColorPicker and CTkMenuBar license - CC0 1.0
- License for program translations (
Brushshe/locales/*.json
) - CC0 1.0 - Fonts - OFL
- Picture on screenshot - CC BY 4.0, by Chip Viled, drawn in Brushshe
Ruff is used to maintain code cleanliness.