Skip to content

gnuns/crops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crops

Simple thumbnail generation server

Clone & install dependencies

sudo apt-get install imagemagick graphicsmagick
git clone git@github.com:gnuns/crops.git
cd crops/
npm install

Usage:

Set the .env variables:

PORT=1337
BASE_SERVER=http://cdn.example.com/

Run!

npm start

To crop the image: http://cdn.example.com/blah/awsome/potatoe.jpg

You just have to access http://localhost:1337/crop/200/400/blah/awsome/potatoe.jpg

You can also set the crop gravity: http://localhost:1337/crop/200/400/blah/awsome/potatoe.jpg?gravity=North or http://localhost:1337/crop/200/400/blah/awsome/potatoe.jpg?gravity=2

And quality (1-100): http://localhost:1337/crop/200/400/blah/awsome/potatoe.jpg?quality=70

By default, Crops use quality = 100 and smartcrop to define the best gravity

Valid gravity values:

Code Name
0 Center
1 NorthWest
2 North
3 NorthEast
4 West
5 East
6 SouthWest
7 South
8 SouthEast
9 Smart (default)

Live demo

I setup a live demo on heroku with BASE_SERVER param as http://, so you can view a cropped version of any image on the web using the URL without http://

Address: https://crops.herokuapp.com/crop/

Example:

Original cat

Image: http://68.media.tumblr.com/4e097c1aba3644c09121b28c3fc2d468/tumblr_mgtkitzs2I1qlp8dho1_1280.jpg

Square cat

70% quality 300x300 image: https://crops.herokuapp.com/crop/300/300/68.media.tumblr.com/4e097c1aba3644c09121b28c3fc2d468/tumblr_mgtkitzs2I1qlp8dho1_1280.jpg?quality=70

credits

inspired by zooniverse/static-crop