꾸준히 공부하는 개발자

[Node.js] Jimp 이용하여 비율에 맞게 resize 본문

Node.js

[Node.js] Jimp 이용하여 비율에 맞게 resize

kauboy 2019. 11. 18. 15:49

rawfile을 비율에 맞게 resize 할 일이 생겨 jimp 라는 모듈을 사용하게 되었다.


const imageResize = async (rawFile, strictSize) => {  
const resizeImage = await Jimp.read(rawFile.preview)  
let {width, height} = resizeImage.bitmap

if (width > strictSize && width > height) {  
height = strictSize / width * height  
width = strictSize

} else if (height > strictSize && height > width) {  
width = strictSize / height * width  
height = strictSize

} else if (width > strictSize && height > strictSize) {  
if(width > height){  
height = strictSize / width * height  
width = strictSize  
}else{  
width = strictSize / height * width  
height = strictSize  
}

}  
await resizeImage.resize(width, height)  
const data = await resizeImage.getBufferAsync(rawFile.type)  
return data  
}

document를 제대로 안읽고 썻더니 나중에 코드 다 짜고 보니 auto로 비율을 맞춰주는 방법이 있었다...

image.resize(Jimp.auto, 300)

이런식으로하면 heigth 300 에 맞춰 width가 저절로 비율에맞게 생성된다.

Comments