smartcrop.js
sharp
smartcrop.js | sharp | |
---|---|---|
2 | 98 | |
12,784 | 28,035 | |
- | - | |
4.1 | 9.4 | |
about 2 months ago | 1 day ago | |
JavaScript | JavaScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
smartcrop.js
-
Just In Time Image Optimization at Reddit Scale
We chose to use govips which is a cgo wrapper around the libvips image manipulation library. The majority of new development for services in our backend is written using baseplate.go. But Go is not an ideal choice for media processing as it cannot keep up with the performance of native code. The most widely used image-processing libraries like libmagick are primarily written in C or C++. Speed was a major factor in selecting libvips in order to keep latency low on CDN cache misses for images. In our tests, libvips was 3–4 times faster than libmagick on basic image processing operations. Content-aware smart cropping was implemented by porting smartcrop.js to Go. This is the only operation implemented in pure Go.
- Alternative apps similar to Face Crop Jet?
sharp
-
How to resize images for Open Graph and Twitter using sharp
When sharing content on social media platforms, it's essential to have visually appealing images that are properly sized. Let’s explore how we could automatically resize images for Open Graph and Twitter card previews. We’ll be using sharp - a powerful and fast tool that powers the Image component from Next.js.
-
Next.js and Bunny CDN: Complete Guide to Image Uploading with Server Actions
Last thing left is to use our new upload function in our server action. Since I like to upload images in single format and have some more control over them, I will additionally use sharp library. For file name, I'll generate some random string using nanoid:
- Sharp – fast image conversion in Node.js
-
Optimizing Image Display with Blur Placeholder and Lazyload
blur is a technique to blur images while reducing the file size surprisingly. blur works by enlarging the pixels of the image, which reduces the details of the image, and the number of colors also decreases, thus saving storage space. Sharp is a popular image processing library in Node.js, and it supports the blur function. After going through the blur function, the image size at this point is only a few KB, which is reasonable for an image placeholder in the article.
-
Organize the mess of your photo folders with Node
sharp
-
Creating Chess Board SVGs, PNGs, and GIFs
For simplicity, I will be generating PNGs with JavaScript/Node and the Sharp image library. Any library that can convert between pixel arrays and image files will make the process quite straightforward.
-
My Journey to Accelerate Load Times in Heavy Frontend
There is also a library that Next.js itself uses: sharp. It can be setup as Node.js service. I even played around a little: image-proxy-service
-
Automated Image Compression: A Vite Plugin Using Sharp
Sharp Documentation: Link
- Using SVG to create simple sparkline charts
-
JavaScript Gom Jabbar
ESLint does an amazing job in detecting floating promises. I've not had it miss one, ever. When adding this to a project, I've discovered multiple accidental bugs due to a missing "await" keyword--bugs that were extremely subtle and intermittent in many cases.
The only thing it can't do is determine that you actually did handle the promise later. Which is fine. It's a LINTING RULE, and false positives are the name of the game.
What's BAD is when you accidentally miss handling a promise at all. It's an invisible error without the linting rule.
Your other comments...don't even make sense. You're going to build a Lanczos filter by hand? Or you're only going to ... compile ImageMagick to WebAssembly?!, ... an implementation which is tremendously slower (nearly unusably so for large images) than that of Sharp:
https://www.npmjs.com/package/sharp
... which is simply an import away?
No, what you're doing is called "motivated reasoning." You've concluded that Deno is the best, and you're reinterpreting all of my complaints in convoluted ways to support your predetermined conclusion.
Standard fanboy behavior. Or troll behavior. I cite Poe's Law as why it's impossible to tell the difference.
What are some alternatives?
jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
squoosh - Make images smaller using best-in-class codecs, right in the browser.
gm - GraphicsMagick for node
Next.js - The React Framework
pica - Resize image in browser with high quality and high speed
sveltekit-image-plugin - SvelteKit demo code for using vite-imagetools to add cached, responsive, Next-Gen images to a SvelteKit site with no cumulative layout shift.
imagemin - [Unmaintained] Minify images seamlessly
sharp-libvips - Packaging scripts to prebuild libvips and its dependencies - you're probably looking for https://github.com/lovell/sharp
lwip - Light Weight Image Processor for NodeJS
libvips - A fast image processing library with low memory needs.
probe-image-size - Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD, ICO.
compressorjs - JavaScript image compressor.