npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

img-canvas-helper

v0.0.2

Published

Render an image with modified dimensions and/or cropping using node canvas module (requires Cairo)

Downloads

4

Readme

img-canvas-helper

Stability - 2 Unstable

Helper function to resize or crop jpeg images using node canvas module (requires Cairo)

API

resize(img, maxdim, function(result, data))

Resizes an image where longest dimension is within maxdim
 * imgsrc - string path to image to crop
 * width - integer length of longest width dimension for resized image 
 * height - integer length of longest height dimension for resized image 
 * callback - callback function(
 *     result - boolean true on success
 *     data - canvas object on success, Error on failure
crop(img, maxw, maxh, function(result, data))

Crops an image to bounds specified by maxw and maxh
 * imgsrc - string path to image to crop
 * width - integer width of cropped image
 * height - integer height of cropped image
 * callback - callback function(
 *     result - boolean true on success
 *     data - canvas object on success, Error on failure
writeCanvas(canvas, outfile, function(result, data))

Helper to write canvas to an output jpeg file
 * Useful for writing manipulated image back to a file
 * canvas - canvas to write out to disk
 * outfile - string path to output file
 * callback - function (result, data)
 *    result - boolean result true on successful write
 *    data - bytes written on success, or Error on failure
Convert(options);

Transform stream from input image to modified output image
 * usage:  var Convert = require('img-canvas-helper').Convert;
 *         var imgc = new Convert(options);
 *         imgc.on('data', function (chunk) {
 *            //handle tranformed image data chunk
 *         });
 *         imgc.on('end', function () {
 *            //close any open write streams
 *         });
 *         imgc.on('error', function (err) {
 *            //handle errors
 *         });
 * where:
 *         options = {
 *           img:  <required string path to source image>,
 *           method: <required string conversion method ('resize' | 'crop' currently supported)>,
 *           width: <required integer width of destination image>
 *           height: <required integer height of destination image>
 *         }
 */