node-canvas
sharp
node-canvas | sharp | |
---|---|---|
22 | 97 | |
9,908 | 27,987 | |
0.6% | - | |
5.7 | 9.4 | |
9 days ago | 5 days ago | |
JavaScript | JavaScript | |
- | 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.
node-canvas
-
2024 Web Development Wish List
Assuming SWR (stale while revalidate) is working, we could definitely use the ability to edit images in workers. We would need support for node canvas or something similar.
-
Skinny legend (2017 - 2023)
So at this point, I have all the images and the data required to align the images. I used node-canvas to do that. So here's how I aligned the images:
-
ECharts for Python
ECharts was originally a Baidu project, released under https://github.com/ecomfe/echarts (ecomfe = "E-commerce frontend"?). They still maintain some of the auxiliary libraries.
I've been using it since around ... 2018-ish[0]? ... as a replacement for Google Charts. It was my first time using a big library from one of the Chinese tech giants -- basic docs and tutorials in English, then all the advanced stuff (and comments) written in Chinese. I was impressed by how comprehensive the charts library was, and how they'd obviously invested a lot of brainwork into the configuration system. IMO it's one of the highest-quality data visualization libraries in JavaScript unless you're willing to dive deep into something like d3.js.
The blog post's author describes running echarts in a headless Chrome, though, which seems insane to me. It's JavaScript rendering to a -- can't it run in Node with https://github.com/Automattic/node-canvas ?
[0] A small publicly-accessible example: https://john-millikin.com/reddit-front-page-2018#by-domain
-
Unify Protect Homebridge Plugin
node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.11.0/canvas-v2.11.0-node-v93-darwin-unknown-arm64.tar.gz
-
Social Media Cards with @vercel/og
Another approach is it to create a background image and insert the texts and the metadata with a canvas library like node-canvas. This approach is very well described in this Learn With Jason episode. But with a canvas library we have to specify on which coordinates we want to render our texts and it does not wrap automatically if it becomes to long.
-
Is there a simple way to draw a box on a JPG?
Never used it but probably this: https://github.com/Automattic/node-canvas
-
Lambda keeps consuming more and more memory until it kills it self
I found this issue: https://github.com/Automattic/node-canvas/issues/1974 and somebody commented with a link about node buffers. So I decided to test these parts.
-
best way to generate image on server
Some popular Node.js libraries for manipulating images are node-canvas and sharp.
-
BEGINNER PROJECT - How to parse a .txt and create .png files from each line?
node.js + imagemagick + node canvas + node canvas libraries (depends on your OS)
-
The tech behind creating your own 'Spotify Wrapped' style campaign in 2022
If you want to go the same route check out the node-canvas library from the Automattic folks. That essentially lets you use the Browser Canvas API for drawing (but server side instead of in the browser).
sharp
-
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.
- How does next/image work?
What are some alternatives?
canvas - High performance skia binding to Node.js. Zero system dependencies and pure npm packages without any postinstall scripts nor node-gyp.
jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
puppeteer - Node.js API for Chrome
squoosh - Make images smaller using best-in-class codecs, right in the browser.
vercel - Develop. Preview. Ship.
gm - GraphicsMagick for node
napi-rs - A framework for building compiled Node.js add-ons in Rust via Node-API
Next.js - The React Framework
cryptopunk-nft-generator
pica - Resize image in browser with high quality and high speed
urix - [DEPRECATED] Makes Windows-style paths more unix and URI friendly.
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.