photo-cropper-npm
v0.1.0
Published
Node.js CLI/API package for photo cropping and panorama tile slicing
Maintainers
Readme
photo-cropper-npm
Node.js package for:
- photo cropping (rectangle/aspect)
- panorama tile slicing (
zoom/x/ypyramid)
Install
npm i photo-cropper-npmFor local development:
cd photo-cropper-npm
npm install1) Crop CLI (photo-crop)
Rectangle crop:
photo-crop ./input.jpg -o ./output.jpg --x 120 --y 80 --width 1400 --height 900Aspect crop:
photo-crop ./input.jpg -o ./output_16x9.jpg --aspect 16:9 --position center2) Tile slicing CLI (photo-tiles)
Create panorama tile pyramid:
photo-tiles ./pano.jpg -o ./tiles --tile-size 256 --max-zoom 3 --overwriteOutput structure:
tiles/
meta.json
1/
0/0.jpg 0/1.jpg ...
1/0.jpg ...
2/
...
3/
...Where:
zoom=1is max qualityzoom=2is half-resolutionzoom=3is quarter-resolution
API
import { cropImage, sliceToTiles } from 'photo-cropper-npm';
await cropImage({
input: './input.jpg',
output: './output.webp',
aspect: '1:1',
format: 'webp',
quality: 90,
});
const tileResult = await sliceToTiles({
input: './pano.jpg',
outputDir: './tiles',
tileSize: 256,
maxZoom: 3,
format: 'jpg',
quality: 86,
overwrite: true,
});
console.log(tileResult.levels);Publish to npmjs
- Set unique
nameinpackage.json. - Update
version. - Login:
npm login- Publish:
npm publish --access public