Respicta is a versatile project offering a library, command-line interface (CLI), and web service for resizing images and changing their formats seamlessly.
Resize Images: Effortlessly resize images to desired dimensions.
Change Format: Convert images to different formats such as JPEG, PNG, etc.
CLI: Intuitive command-line interface for quick resizing and format conversion.
Web Service: Host a web service to resize images on-the-fly.
- Gif to WebP
- Jpeg to WebP
- Png to Jpeg
- Png to WebP
docker run --rm -v ./:/images rayros/respicta convert --help
Convert images from one format to another
Usage: image-resizer convert [OPTIONS] <INPUT_PATH> <OUTPUT_PATH>
Arguments:
<INPUT_PATH> Input image path
<OUTPUT_PATH> Output image path
Options:
--help
-w, --width <WIDTH> Width of the output image If not set, the width will be the same as the input image
-h, --height <HEIGHT> Height of the output image If not set, the height will be the same as the input image
Examples:
image-resizer convert --width 100 --height 100 input.jpg output.jpg
docker run --rm rayros/respicta server --help
Start a server to convert images
Usage: respicta server [OPTIONS]
Options:
-a, --address <ADDRESS> Address to bind the server (default: 0.0.0.0:3000)
-l, --limit <LIMIT> Maximum file size in bytes (default: 10MB)
-h, --help Print help
Start a command server
Usage: respicta command-server [OPTIONS]
Options:
-a, --address <ADDRESS> Address to bind the server (default: 0.0.0.0:3000)
-h, --help Print help
use respicta::convert;
fn main() {
convert(&respicta::Config {
input_path: &"images/logo.jpeg".into(),
output_path: &"images/logo_small.jpeg".into(),
width: Some(200),
height: Some(200),
})
.unwrap();
}
How to use respicta inside pod for your custom resizer service.
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: my-resizer-service
name: my-resizer-service
spec:
replicas: 1
selector:
matchLabels:
app: my-resizer-service
template:
metadata:
labels:
app: my-resizer-service
spec:
containers:
- image: rayros/respicta
name: respicta
args: ["server", "--address", "0.0.0.0:4000"]
- image: main-app-image:latest
name: main-app
ports:
- containerPort: 2137
env:
- name: RESPICTA_HREF
value: http://localhost:4000