textual-paint/README.md

77 lines
2.5 KiB
Markdown
Raw Normal View History

2023-04-10 23:51:39 +03:00
textual-paint
=============
What if MS Paint isn't retro enough?
You need Paint in your terminal.
This is a TUI (Text User Interface) image editor, inspired by MS Paint, and built with [Textual](https://textual.textualize.io/).
## Development
2023-04-11 23:22:00 +03:00
Install Textual and Stransi:
2023-04-10 23:51:39 +03:00
```bash
2023-04-11 23:22:00 +03:00
pip install "textual[dev]" "stransi"
2023-04-10 23:51:39 +03:00
```
Run supporting live-reloading CSS:
```bash
textual run --dev paint.py
```
Or run normally:
```bash
python paint.py
```
## License
[MIT](LICENSE.txt)
## Unicode Symbols and Emojis for Paint Tools
2023-04-13 16:15:22 +03:00
The first thing I did in this project was to collect possible characters to represent all the tool icons in MS Paint, to test feasibility.
In other words, I wanted to gauge how good of a recreation it would be possible to achieve, starting from looks.
Unfortunately, I haven't run into any significant roadblocks, so I'm apparently recreating MS Paint. [Again.](https://jspaint.app)
These are the symbols I've found so far:
2023-04-11 19:09:08 +03:00
- Free-Form Select: ✂️📐🆓🕸✨⚝🫥🇫/🇸◌
- Rectangular Select: ⬚▧🔲
- Eraser/Color Eraser: 🧼🧽🧹🚫👋🗑️
- Fill With Color: 🌊💦💧🌈🎉🎊🪣🫗
- Pick Color: 🎨💉💅💧📌📍⤤𝀃🝯🍶
2023-04-10 23:51:39 +03:00
- Magnifier: 🔍🔎👀🔬🔭🧐🕵️‍♂️🕵️‍♀️
- Pencil: ✏️✎✍️🖎🖊️🖋️✒️🖆📝🖍️
2023-04-10 23:51:39 +03:00
- Brush: 🖌️🖌👨‍🎨🧑‍🎨💅
- Airbrush: 💨ᖜ╔🧴🥤🫠
- Text: 🆎📝📄📃🔤📜A
2023-04-13 16:15:22 +03:00
- Line: 📏📉📈⟍𝈏╲⧹\
- Curve: ↪️🪝🌙〰️◡◠~∼≈∽∿〜〰﹋﹏≈≋~⁓
- Rectangle: ▭▬▮▯🟥🟧🟨🟩🟦🟪🟫⬛⬜◼️◻️◾◽▪️▫️
- Polygon: ▙𝗟𝙇﹄』⬣⬟🔶🔷🔸🔹🔺🔻△▲
- Ellipse: ⬭⭕🔴🟠🟡🟢🔵🟣🟤⚫⚪🫧
2023-04-10 23:51:39 +03:00
- Rounded Rectangle: ▢⬜⬛
2023-04-13 16:15:22 +03:00
The default symbols used may not be the best on your particular system, so I may add some kind of configuration for this in the future.
### Cursor
A crosshair cursor could use one of `+✜✛✚╋╬`, but whilst that imitates the look, it might be better to show the pixel under the cursor, i.e. character cell, surrounded by dashes, like this:
```
╺█╸
```
2023-04-10 23:51:39 +03:00
## See Also
2023-04-11 01:31:41 +03:00
- [JavE](http://jave.de/), an advanced Java-based ASCII art editor
2023-04-11 01:44:24 +03:00
- [Playscii](http://vectorpoem.com/playscii/), a beautiful ASCII/ANSI art editor
- [cmdpxl](https://github.com/knosmos/cmdpxl), a pixel art editor for the terminal using the keyboard
- [pypixelart](https://github.com/douglascdev/pypixelart), a pixel art editor using vim-like keybindings, inspired by cmdpxl but not terminal-based