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-transform

v1.0.3

Published

Resize and crop uploaded image file on client side

Downloads

3

Readme

Resize and crop uploaded images on the client side.

Installation

$ npm install img-transform

Usage

imgTrasform

imgTransform(uploadInput.files[0], 'image/jpeg')
  .done(function (dataUrl) {
    // your code here
  });

imgTransform is the main function that does nothing if it eas called individually.

arguments

file: input file object or a dataurl string including meta "data:image/jpeg;base64," or not.

type: exported mimeType default is input file mime type or dataurl meta mime type if found, otherwise "image/jpeg" is the default mime type.

Resize

imgTransform(uploadInput.files[0])
  .resize(560, 340, 'cover')
  .done(function (dataUrl) {
    // your code here
  });

arguments

width new width in pixels or 'auto'.

height new height in pixels or 'auto'.

mode optional - preserve image ratio with two arguments 'cover' | 'contain'

note: if one of dimensions was set to 'auto' the other dimension must be set to pixel value.

Crop

imgTransform(uploadInput.files[0])
  .crop(560, 340, 10, 10)
  .done(function (dataUrl) {
    // your code here
  });

arguments

width crop width in pixels or 'auto'.

height crop height in pixels or 'auto'.

leftOffset crop left offset in pixels or 'auto'.

topOffset crop top offset in pixels or 'auto'.

Dimensions 'auto' option is to preserve the image ratio. Offsets 'auto' option is to center the crop size related to dimensions.

Serial

imgTransform(uploadInput.files[0])
  .crop(560, 340, 10, 10)
  .resize(560, 340, 'cover')
  .done(function (dataUrl) {
    // your code here
  });

You have the option to stack the two previous methods as in the example above.

auto

imgTransform(uploadInput.files[0])
  .auto(560, 340)
  .done(function (dataUrl) {
    // your code here
  });

arguments

width new width and crop width in pixels or 'auto'.

height new height and crop height in pixels or 'auto'.

The 'auto' method will perform the 'crop' and 'resize' operations togather with both offsets set to 'auto' and mode set to 'cover'.

done

imgTransform(uploadInput.files[0])
  .auto(560, 340)
  .done(function (dataUrl) {
    // your code here
  });

arguments

callback callback function with the result image in 64string from as the first argument

Thank you.