generic-image-server

Generic image server. You can resize or cut images, with a specific resolution passed in the url

Usage no npm install needed!

<script type="module">
  import genericImageServer from 'https://cdn.skypack.dev/generic-image-server';
</script>

README

Codacy Badge npm version

Generic Image Server with Node.js

Description

Image server implemented with Node.js. The server provides an image and resize it maintaining its aspect ratio. You need to specify a image resolution in order to resize it.

By default, if the original image resolutions is smaller than the requested one, it cannot be extended. To force the extend, you must specify in the url a parameter force=true.

You can also crop the image with the resolution requested in the url. To do that, you need to specify a fit=true at url parameters.

Prerequisites

Configuration

You can customize the service through command line arguments:

Usage: images.js [options] pathToImageFolder

Image service
  --port, -p  Port number the service will listen to  [number] [default: 3002]
  --yMax, -y  Maximum height  [number] [default: 1200]
  --xMax, -x  Maximum width  [number] [default: 1200]

Redis cache
  --cache,     -c  Redis use [boolean] [default: true]
  --redisHost, -h  Redis server hostname  [string] [default: "localhost"]
  --redisPort, -o  Redis server port  [number] [default: 6379]
  --redisTTL,  -t  Redis cache TTL  [number] [default: 3600]

Opciones:
  --help  Show help  [boolean]

Usage

With your Redis Server running:

    $ npm install generic-image-server && cd node_modules/generic-image-server
    $ npm install
    $ node images.js --no-cache /path/to/image/repository

Examples

  • localhost:3002/400/400/images/image2.jpg
  • localhost:3002/1200/1200/images/image2.jpg?fit=true
  • localhost:3002/400/400/images/image2.jpg?force=true
  • localhost:3002/400/400/images/image2.jpg?fit=true&force=true