An open API service indexing awesome lists of open source software.

https://github.com/giovanni-iannaccone/raccoon

PPM manipulation library 🦝
https://github.com/giovanni-iannaccone/raccoon

c-plus-plus c-plus-plus-library image-generation image-manipulation library ppm

Last synced: 2 months ago
JSON representation

PPM manipulation library 🦝

Awesome Lists containing this project

README

        

# 🦝 Raccoon - PPM Image Manipulation Library

Raccoon is a lightweight and efficient C++ library for working with PPM (Portable Pixmap) image files. It allows you to easily load, modify, and create PPM images while providing a set of tools for inserting geometric shapes into your images.
Additionally, the library comes with a handy command-line utility to make image manipulation even more accessible!
## ✨ Features
- Read PPM images: Load PPM files effortlessly into your application
- Modify Images: Perform image editing operations with ease
- Insert Geometric Shapes: Add lines, rectangles, circles, and more directly into your images
- Command-Line Utility: Use the library directly from the command line for quick tasks

> [!WARNING]
> The library is in development, everything can change in any moment

## 👨‍💻 Installation
1. Clone the repository:
```bash
git clone https://github.com/giovanni-iannaccone/raccoon
cd raccoon
```
2. Build the library:
```
make
```

## 💻 Usage
- Library Integration
Include the library in your C++ project:
```c++
#include "raccoon.h"
```
- Command Line Utility
```bash
./raccoon_cli ./outputs/raccoon_cli.ppm
```
```bash
██████╗ █████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███╗ ██
██╔══██╗██╔══██╗██╔════╝██╔════╝██╔═══██╗██╔═══██╗████╗ ██║
██████╔╝███████║██║ ██║ ██║ ██║██║ ██║██╔██╗ ██║
██╔══██╗██╔══██║██║ ██║ ██║ ██║██║ ██║██║╚██╗██║
██║ ██║██║ ██║╚██████╗╚██████╗╚██████╔╝╚██████╔╝██║ ╚████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝
File dimensions are 800x800
Type help to show the menu
raccoon@ppm:./outputs/raccoon_cli.ppm$
```

## 🧩 Contributing
We welcome contributions! Please follow these steps:

1. Fork the repository.
2. Create a new branch ( using this convention).
3. Make your changes and commit them with descriptive messages.
4. Push your changes to your fork.
5. Create a pull request to the main repository.

## ⚖ License
This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

## ⚔ Contact
- For any inquiries or support, please contact [email protected] .
- Visit my site for more informations about me and my work https://giovanni-iannaccone.github.io