Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/santiagoguty/paint-p
Paint-P is a versatile JavaFX-based painting application offering essential drawing tools, multi-tab canvases, and dynamic shape, text, and edit features. With support for image manipulation, multiple file formats, and a server feature for real-time remote canvas access, Paint-P is designed for a seamless and customizable digital drawing experience
https://github.com/santiagoguty/paint-p
digital-drawing java javafx
Last synced: 5 days ago
JSON representation
Paint-P is a versatile JavaFX-based painting application offering essential drawing tools, multi-tab canvases, and dynamic shape, text, and edit features. With support for image manipulation, multiple file formats, and a server feature for real-time remote canvas access, Paint-P is designed for a seamless and customizable digital drawing experience
- Host: GitHub
- URL: https://github.com/santiagoguty/paint-p
- Owner: SantiagoGuty
- Created: 2024-08-30T19:19:49.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-11-15T18:22:44.000Z (2 months ago)
- Last Synced: 2024-11-15T19:26:20.886Z (2 months ago)
- Topics: digital-drawing, java, javafx
- Language: Java
- Homepage:
- Size: 51 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Paint-P
**Paint-P** is a versatile and feature-rich art tool application inspired by Microsoft Paint, designed to provide enhanced customization, intuitive controls, and powerful functionality. Built with **JavaFX**, Paint-P introduces innovative tools and features that elevate the user experience for casual drawing, graph creation, and advanced design tasks.
## Key Features
- **Extensive Drawing Tools**: Includes shapes, text, polygons with customizable number of sides, and freehand tools, with customizable stroke styles, fill options, and color pickers.
- **Image Manipulation**: Supports importing, editing, and exporting images in multiple formats, with options for rotation, flipping, resizing, and cropping.
- **Dynamic Canvas Management**: Multi-tab canvas system allowing independent editing across canvases, with live drawing previews and undo/redo functionality.
- **Advanced Customization**: Includes adjustable line widths, font styles, shape filling, and dynamic font sizing based on drag dimensions.
- **Enhanced Usability**: Keyboard shortcuts that make the interaction with the configurations seamless.
- **Web Integration**: Embedded web server feature for displaying canvases online.
- **Data Persistence**: Save and restore projects with detailed notifications and warnings for lossy image formats.## Development
- **CS-250**: This project was the pillar of the Object Oriented Programming class **CS-250**
- **Agile Methodology**: Divided into **seven sprints**, focusing on incremental improvements and rigorous testing throughout the development lifecycle.
- **Codebase**: Over **5,000 lines of code** across multiple classes and modules, leveraging object-oriented principles for scalability.
- **Testing & Quality Assurance**: Comprehensive **unit testing** to ensure functionality and reliability, accompanied by logging for debugging and user tracking.## Technologies Used
- **JavaFX 23**
- **JDK 21**
- **Maven**
- **IntelliJ IDEA**# ***Always Painting-P***
Demo video:
* https://youtu.be/5Bz2W9a7eN4![image](https://github.com/user-attachments/assets/eeb359e9-59b7-4c1f-b46f-89634decbbde)