A Connect the Dots workstation application for creating and editing point-to-point line overlays on images.
- Interactive Point Placement – Click on any image to place numbered dots
- Real-time Line Preview – See connected lines update as you add points
- Zoom & Pan Navigation – Mouse wheel zoom with right-click drag panning
- Scale Indicator – Live zoom percentage display in sidebar
- Drag & Drop – Drop image or points files directly onto the window
- Toggle Labels – Show/hide point markers and numbers for clean preview
- Customizable Styling – Choose line color and width
- Project Management – Save/load point coordinates as
.txtfiles - Export to Image – Render final result as PNG or JPG
- Edit Coordinates – Double-click points in the list to manually adjust positions
- Undo Support –
Ctrl+Zto remove the last placed point
- Python 3.x
- Pillow (PIL)
- tkinterdnd2 (optional, for drag-drop support)
-
Clone the repository:
git clone https://github.com/AlakaSquasho/dot_lining.git cd dot_lining -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
| Action | Control |
|---|---|
| Add Point | Left Click |
| Pan View | Right Click + Drag |
| Zoom In/Out | Mouse Wheel |
| Load Files | Drag & Drop image or .txt |
| Undo Last Point | Ctrl+Z or Undo button |
| Edit Point Coordinates | Double-click in Points List |
┌─────────────────────────────────────────────────────────────┐
│ [Load Image] [Load Points] [Save Points] [Export] [Labels] │ ◄─ Toolbar
├───────────────────────────────────────────────┬─────────────┤
│ │ Next: #1 │
│ │ Scale: 100% │
│ Canvas Area │ │
│ (Image + Interactive Dots) │ Points List │ ◄─ Sidebar
│ │ 1: (x, y) │
│ │ 2: (x, y) │
└───────────────────────────────────────────────┴─────────────┘
Points are saved as simple text files with one coordinate pair per line:
150.5,200.0
300.0,450.5
500.25,100.75
This project is licensed under the MIT License – see the LICENSE file for details.
Made with ❤️ using Python and Tkinter