All Projects → lipojs → Lipo

lipojs / Lipo

Licence: mit
👄 Free image manipulation API service built on top of Sharp (an alternative to Jimp, Graphics Magic, Image Magick, and PhantomJS)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lipo

Gimage
A PHP library for easy image handling. 🖼
Stars: ✭ 148 (+46.53%)
Mutual labels:  scale, image, crop, resize
Imaging
Imaging is a simple image processing package for Go
Stars: ✭ 4,023 (+3883.17%)
Mutual labels:  image, crop, resize
Sharp
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
Stars: ✭ 21,131 (+20821.78%)
Mutual labels:  image, crop, resize
Mergi
go library for image programming (merge, crop, resize, watermark, animate, ease, transit)
Stars: ✭ 127 (+25.74%)
Mutual labels:  image, crop, resize
Ucrop
Image Cropping Library for Android
Stars: ✭ 11,003 (+10794.06%)
Mutual labels:  scale, image, crop
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-21.78%)
Mutual labels:  image, crop, resize
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+1280.2%)
Mutual labels:  image, crop, resize
Php Image Resize
PHP library to resize, scale and crop images. Cloud solution available at:
Stars: ✭ 955 (+845.54%)
Mutual labels:  scale, crop, resize
Igrphototweaks
Drag, Rotate, Scale and Crop
Stars: ✭ 212 (+109.9%)
Mutual labels:  scale, image, crop
downscale
Better image downscale with canvas.
Stars: ✭ 80 (-20.79%)
Mutual labels:  resize, scale, crop
Nova Advanced Image Field
🌄📐 A Laravel Nova advanced image field with cropping and resizing using Cropper.js and Intervention Image
Stars: ✭ 67 (-33.66%)
Mutual labels:  image, crop, resize
Tocropviewcontroller
A view controller for iOS that allows users to crop portions of UIImage objects
Stars: ✭ 4,210 (+4068.32%)
Mutual labels:  image, crop
Fmphotopicker
A modern, simple and zero-dependency photo picker with an elegant and customizable image editor
Stars: ✭ 428 (+323.76%)
Mutual labels:  image, crop
React Native Image Crop Picker
iOS/Android image picker with support for camera, video, configurable compression, multiple images and cropping
Stars: ✭ 5,261 (+5108.91%)
Mutual labels:  image, crop
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+389.11%)
Mutual labels:  graphics, image
Imagemagick
🧙‍♂️ ImageMagick 7
Stars: ✭ 6,400 (+6236.63%)
Mutual labels:  image, resize
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+654.46%)
Mutual labels:  image, crop
Cdpimagecrop
CDPImageCrop can zoom,move and crop a image and automatically save into the album,details see demo.
Stars: ✭ 6 (-94.06%)
Mutual labels:  image, crop
Tkimageview
An easy way to crop an image.
Stars: ✭ 342 (+238.61%)
Mutual labels:  image, crop
Flutter image cropper
A Flutter plugin for Android and iOS supports cropping images
Stars: ✭ 723 (+615.84%)
Mutual labels:  image, crop

lipo

chat build status code coverage code style styled with prettier made with lass license

Lipo is a free image manipulation API service built on top of Sharp
Need an alternative to Jimp, Graphics Magick, ImageMagick, or PhantomJS? • Built by @niftylettuce and contributors

Lipo is a cross-platform and drop-in replacement for Sharp

Table of Contents

Install

npm:

npm install lipo

yarn:

yarn add lipo

Usage

To keep things simple you can use the exact same API that Sharp offers.

const lipo = require('lipo');
lipo('input.jpg')
 .resize(300, 300)
 .toFile('output.jpg', err => {
   if (err) throw err;
   console.log('resized image');
 });

Lipo is a drop-in replacement for Sharp (so you won't have to worry about cross-platform installation).

You can simply replace instances of sharp with lipo:

-const sharp = require('sharp');
+const lipo = require('lipo');
-sharp('input.jpg')
+lipo('input.jpg')
  .resize(300, 200)
  .toFile('output.jpg', err => {
     if (err) throw err;
     console.log('resized image');
  });

You can even use Lipo from the command line:

curl -F "[email protected]/Users/me/Desktop/input.jpg" \
  -F 'queue=[ [ "resize", 300, 300 ] ]' \
  -o /Users/me/Desktop/output.jpg \
  https://api.lipo.io

Resize Method Options: If you need to use constant values such as sharp.kernel.nearest, sharp.gravity.centre, or any other option from resize, please use the alternate form of Lipo.kernel.nearest and Lipo.gravity.centre, respectively (just as an example)

Rate Limiting

Note that if you use make more than 100 requests per hour from the same IP address or wish to exceed 20MB file upload size limitation, we will rate limit you until you sign up for an API key at https://lipo.io.

Once you sign up for a key, you can pass it as const lipo = require('lipo')({ key: 'YOUR_API_KEY_HERE' }); or as an environment variable (e.g. LIPO_KEY=YOUR_API_KEY_HERE node app.js).

Background

While building Lad I was instructing our team how to install Sharp, but there was a lot of confusion with libvips and many cross-platform installation issues.

Between Docker, Ubuntu, and Mac cross-platform issues reported by the team, I wanted to drop Sharp completely as a dependency from Lad.

I tried pure JavaScript-based solutions like Jimp, and even tried PhantomJS and Puppeteer solutions, however they were all too slow.

Sharp was the fastest option, and therefore I thought making a drop-in replacement that uses a powerful server would be satisfactory.

Thus Lipo was born.

Deploy Yourself

See the test folder for an example that shows how to use the middleware lipo-koa (also see lipo-express and other related packages below).

Related

Credits

Lips by Orin zuu from the Noun Project

Contributors

Name Website
Nick Baugh http://niftylettuce.com/
Imed Jaberi https://3imed-jaberi.com/

Trademark Notice

Lipo, Lass, Lad, Cabin, and their respective logos are trademarks of Niftylettuce LLC. These trademarks may not be reproduced, distributed, transmitted, or otherwise used, except with the prior written permission of Niftylettuce LLC. If you are seeking permission to use these trademarks, then please contact us.

License

MIT © Nick Baugh

#

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].