image-transform-api

    0.0.1 • Public • Published

    ImageManipulationAPI

    A Node JS application that exposes APIs that transform uploaded images (crop, rotate, resize) and allow for their download post-transformation

    Pre-requisites:

    You need to have these installed:

    • Git
    • Node JS

    Get started by:

    Perform these steps using your CLI tool:

    1. Clone this repository (usually with git clone <REPO_URL>)
    2. Install required packages with npm install
    3. Start the application with npm start

    API endpoints:

    The application exposes the APIs:

    1. URL: "/upload"

    Method: POST

    Acceptable Data (Request Body):

    • image: This would contain the file data

    • crop: e.g { crop: "x=2;y=4;w=3;h=10" }

      x - horizontal distance from origin,

      y - vertical distance from origin,

      w - the width of new image,

      h - the height of new image

    • scale: e.g { scale: "f=1.5" }

      f - scale factor

    • resize: e.g { resize: "w=3;h=10" }

      w - the width of new image,

      h - the height of new image

    • rotate: e.g { rotate: "d=90" }

      d - degrees

    • order: e.g { order: "sc;re;ro;cr" }

      sc - scale

      re - resize

      ro - rotate

      cr - crop

      //default order: "re;ro;sc;cr" meaning the worker should first 'resize', then 'rotate', then 'scale' and lastly 'crop' the parsed image.

      Example:

      axios({
          method: 'post',
          url: '/upload',
          data: {
              image: imageFile,
              crop: "x=2;y=4;w=3;h=10",
              scale: "f=1.5",
              resize: "w=3;h=10",
              rotate: "d=90",
              order: "sc;ro;re;cr"
          }
      })
       .then(function (response) {
          //handle success
          console.log(response);
       })
       .catch(function (response) {
          //handle error
          console.log(response);
       });

    2. URL: "/export"

    Method: GET

    Acceptable Data (Request Query):

    • to: e.g ?to=jpg // jpg, png, pdf or PDf (case insensitive)

      JPG - exports a JPEG image,

      PNG - exports a PNG image,

      PDF - exports a PDF document,

      Example:

       // For the "/export" endpoint
      axios({
          method: 'get',
          url: '/export?to=PDF'
      })
       .then(function (response) {
          //handle success
          console.log(response);
       })
       .catch(function (response) {
          //handle error
          console.log(response);
       });

    Install

    npm i image-transform-api

    DownloadsWeekly Downloads

    1

    Version

    0.0.1

    License

    ISC

    Unpacked Size

    29.4 kB

    Total Files

    24

    Last publish

    Collaborators

    • benez11