lcs-flyimg-processor
v1.0.8
Published
A processor for Flyimg functionality.
Maintainers
Readme
FlyimgProcessor
The FlyimgProcessor is a utility class for interacting with the Flyimg image processing API. It provides methods to construct URLs for resizing and processing images based on Flyimg's capabilities.
Features
- Construct Flyimg-compatible URLs for image resizing and processing.
- Support for various image processing options such as resizing, cropping, filtering, and more.
- Handle single and multiple image processing requests.
Installation
- Install:
npm i lcs-flyimg-processor
Usage
Import the Processor
import FlyimgProcessor from "lcs-flyimg-processor";const FlyimgProcessor = require("lcs-flyimg-processor");Initialize the Processor
const processor = new FlyimgProcessor("https://your-flyimg-api-url");Methods
1. processImage
Generates a Flyimg URL for resizing a single image.
Parameters:
imageUrl(string): The source image URL.options_keys(object): Resize options.process_type(string): Type of process (uploadorpath).
Example:
const processedImageUrl = processor.processImage({
imageUrl: "https://example.com/image.jpg",
options_keys: { w: 400, q: 90 },
});
console.log(processedImageUrl);2. processImages
Processes multiple images by constructing Flyimg URLs for each.
Parameters:
imageUrls(array): List of source image URLs.options_keys(object): Resize options.process_type(string): Type of process (uploadorpath).
Example:
const processedImageUrls = processor.processImages({
imageUrls: [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
],
options_keys: { w: 300, h: 300 },
});
console.log(processedImageUrls);Supported Options Keys
The options_keys object can include the following keys based on Flyimg documentation:
| Key | Description |
| ------- | --------------------- |
| q | Quality |
| o | Output |
| unsh | Unsharp |
| sh | Sharpen |
| blr | Blur |
| fc | Face-crop |
| fcp | Face-crop-position |
| fb | Face-blur |
| w | Width |
| h | Height |
| c | Crop |
| bg | Background |
| st | Strip |
| ao | Auto-orient |
| rz | Resize |
| g | Gravity |
| f | Filter |
| r | Rotate |
| t | Text |
| tc | Text-color |
| ts | Text-size |
| tbg | Text-bg |
| sc | Scale |
| sf | Sampling-factor |
| rf | Refresh |
| smc | Smart-crop |
| ett | Extent |
| par | Preserve-aspect-ratio |
| pns | Preserve-natural-size |
| webpl | WebP-lossless |
| webpm | WebP-method |
| gf | Gif-frame |
| e | Extract |
| p1x | Extract-top-x |
| p1y | Extract-top-y |
| p2x | Extract-bottom-x |
| p2y | Extract-bottom-y |
| pdfp | PDF-page-number |
| tm | Time |
| clsp | Colorspace |
| mnchr | Monochrome |
License
This project is licensed under the ISC License.
Contributions
Feel free to submit issues or pull requests for improvements!
