Skip to content

yash-raj10/pixIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ–ΌοΈ pixIT β€” Terminal Image Editor in Rust

pixIT is a fast, flexible command-line image editor built with Rust πŸ¦€. It allows you to perform a wide range of image transformationsβ€”right from your terminal!

Navigate like a shell. Select your image. Transform it. All through the CLI.


✨ Features

  • πŸ” Blur images with customizable intensity
  • πŸ” Rotate by 90Β°, 180Β°, or 270Β°
  • πŸ–€ Convert to Grayscale
  • 🌞 Adjust Brightness
  • 🎚️ Tune Contrast
  • 🌈 Modify Hue
  • πŸ”„ Flip horizontally or vertically
  • πŸ“ Resize with custom width & height
  • πŸ—‚οΈ Use familiar shell-like navigation (cd, ls, select <image>)

βš™οΈ Requirements


πŸ“¦ Installation

Clone this repo and enter the directory:

git clone https://github.com/your-username/pixit.git
cd pixit

πŸš€ Usage

Run any image operation using:

cargo run -- <command> --para <value>

This drops you into an interactive terminal for selecting your image.

You can now use:

  • ls – view current directory files
  • cd <folder> – change directory
  • select <filename> – select the image you want to edit

πŸ”§ Supported Commands

Command Parameter(Ex) Description
blur 0.5 Apply blur (0.1 to 1.0)
rotate 90 / 180 / 270 Rotate image
grayscale 0 Convert to grayscale (just pass 0)
brighten -10 / 10 Brightness adjustment
contrast -5.0 / 10.0 Contrast adjustment (float)
hue_rotation 30 / -45 Hue shift in degrees
flip hor / ver Flip horizontally or vertically
resize 300/300 New width/height (format: width/height)

πŸ§ͺ Examples

cargo run -- blur --para 0.5
cargo run -- rotate --para 180
cargo run -- grayscale --para 0
cargo run -- brighten --para 20
cargo run -- contrast --para -10.5
cargo run -- hue_rotation --para 60
cargo run -- flip --para ver
cargo run -- resize --para 800/600

πŸ–±οΈ Image Selection in Terminal

After running any command, you'll see:

=> Now Select image (use `ls`, `cd <dir>`, and `select <image>`):
--> 

Use these commands to navigate:

  • ls – list files and directories
  • cd foldername – change directory
  • select image.jpg – choose an image for editing

You can even use regular terminal commands like clear, echo, etc.


πŸ’Ύ Output

Once the operation completes, the edited image is saved with a modified name:

Examples:

  • cat.jpg + rotate β†’ cat_rotated.jpg
  • dog.jpeg + blur β†’ dog_blured.jpg
  • sample.jpg + flip β†’ sample_flipped.jpg

All edited images are saved in the same directory as the original.


πŸ“‚ Folder Structure

pixit/
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.rs
β”‚   └── Image_fns.rs
β”œβ”€β”€ Cargo.toml
└── README.md

🀝 Contributing

Pull requests are welcome! Feel free to fork and improve the tool.

Suggestions, issues, and improvements are appreciated ✨


πŸ“„ License

Licensed under the MIT License.


πŸ‘€ Author

Made with πŸ’™ by Yash

About

pixIT is a fast, flexible command-line image editor built with Rust πŸ¦€.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages