Skip to content
/ cim Public

A simple CLI tool written in Rust for easily converting between various image formats. (SVG to PNG) (PNG to JPEG) (JPEG to png) (SVG to PNG custom size)

License

Notifications You must be signed in to change notification settings

feraxhp/cim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CIM (CONVERT IMAGE)

.github/workflows/Releases.yml WinGet Package Version

A simple CLI tool written in Rust for easily converting between various image formats.

Supported output formats

Png Jpeg
WebP Gif
Pnm Tiff
Tga Dds
Bmp Ico
Hdr OpenExr
Farbfeld Avif
Qoi

Supported input formats

  • All output formats
  • SVG

Note

svg is only supported as input format. And supports resizing.

  • width and height are required.

Note

webp supports lossless and lossy compression.

  • quality is required.

Installation

  • Windows: Download the latest .exe from the releases page.
    • cim.exe is the portable version
    • cim-**-x86_64.msi is the installer
    • Or use winget.
    winget install --id feraxhp.cim
  • Ubuntu: See releases page for the latest deb package.
wget -O paquete.deb <URL_DEL_PAQUETE> 
dpkg sudo dpkg -i paquete.deb 
sudo apt-get install -f
  • fedora: See releases page for the latest rpm package.
sudo dnf install <URL_DEL_PAQUETE>
  • Arch Linux: See build instructions below.
  • Other Linux distributions: See build instructions below.
  • MacOS: See build instructions below.

Usage

Convert images to different formats

Usage: cim.exe [OPTIONS] <format> <input> [output]

Arguments:
  <format>  The desire file Format
  <input>   Input file/directory path
  [output]  Output file/directory path *(optional)

Options:
  -c, --concurrent [<concurrent>]  The number of concurrent operations [default: 4]
  -w, --width <value>              Width of the output image (only for SVG to image) [default: 32]
  -h, --height <value>             Height of the output image (only for SVG to image) [default: 32]
  -q, --quality <value>            Quality of the output image (only for image to WebP) [default: 100]
  -v, --vnumber                    Prints the version number to the standard output
      --help                       Prints help information
  -V, --version                    Print version

Build and Run

# clone the repository
git clone https://github.com/feraxhp/cim.git
cd cim

# build the project
cargo build --release

# if you want to install it on your system
cargo install --path .

to do

  • Create distribution packages

    • deb
    • rpm
    • pacman
    • Windows installer
    • Windows exe
    • macOS brew
  • Add more image formats

    • pdf
  • Add controls for image quality

    • jpeg
    • avif

About

A simple CLI tool written in Rust for easily converting between various image formats. (SVG to PNG) (PNG to JPEG) (JPEG to png) (SVG to PNG custom size)

Topics

Resources

License

Stars

Watchers

Forks

Languages