# Image processing in node.js

Hey there, In this article, we would be working on, that how you can perform various tasks such as crop, rotate, applying filters and etc. on an image.

This article would be really short and sweet, as sharp (the library we are using) is powerful and great. It does all the things under the hood, so we need to worry.

### Setup
Firstly, we would set up our project by installing one dependency i.e sharp. Sharp is a great library for image processing. So, install the sharp by running ```npm install sharp```.

```js
const sharp = require('sharp');
```

Great, now let's code.

### Converting images
```js
async function convertImg(img) {
    return await sharp(img)
          .toFile('output.png')
}   

convertImg('/images/input.jpeg')
```
### Resizing quality of images
```js
async function resizeBy(img, { height, width }) {
    return await sharp(img)
            .resize({ height, width })
            .toFile('output.png')
}
```

### Rotating images
```js
async function rotateImage(img) {
    return await sharp(img)
                .rotate()
                .resize(null, 200)
                .toFile('output.png')
}
```

### and you can even do tons & tons more manipulation with sharp.
