Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
pngjs-image
Advanced tools
JavaScript-based PNG image encoder, decoder, and manipulator
Table of Contents
##Installation
Install this module with the following command:
npm install pngjs-image
Add the module to your package.json
dependencies:
npm install --save pngjs-image
Add the module to your package.json
dev-dependencies:
npm install --save-dev pngjs-image
Require the module in your source-code:
var PNGImage = require('pngjs-image');
##Usage
Example: Creating a new image
var image = PNGImage.createImage(100, 300);
// Get width and height
console.log(image.getWidth());
console.log(image.getHeight());
// Set a pixel at (20, 30) with red, having an alpha value of 100 (half-transparent)
image.setAt(20, 30, { red:255, green:0, blue:0, alpha:100 });
// Get index of coordinate in the image buffer
var index = image.getIndex(20, 30);
// Print the red color value
console.log(image.getRed(index));
// Get low level image object with buffer from the 'pngjs' package
var pngjs = image.getImage();
image.writeImage('path/to/file', function (err) {
if (err) throw err;
console.log('Written to the file');
});
Example: Loading an image
PNGImage.readImage('path/to/file', function (err, image) {
if (err) throw err;
// Get width and height
console.log(image.getWidth());
console.log(image.getHeight());
// Set a pixel at (20, 30) with red, having an alpha value of 100 (half-transparent)
image.setAt(20, 30, { red:255, green:0, blue:0, alpha:100 });
});
Example: Loading an image from an url
PNGImage.readImage('https://s.yimg.com/rz/l/yahoo_en-US_f_p_142x37_2x.png', function (err, image) {
if (err) throw err;
// The image is in the 'image' variable if everything went well
});
###Static-Methods
<PNGImage> = PNGImage.addFilter(key, fn)
Adds the fn
filter with identifier key
to the filter-list<PNGImage> = PNGImage.createImage(width, height)
Creates an image with the given size<PNGImage> = PNGImage.copyImage(image)
Copies an image into a new containerPNGImage.readImage(path, fn)
Loads an image from the file or url, calling the fn
function when donePNGImage.loadImage(blob, fn)
Loads an image from memory, calling the fn
function when done###Instance-Methods
<pngjs> = image.getImage()
Gets the pngjs
instance<Buffer> = image.getBlob()
Gets the data as a buffer object<int> = image.getWidth()
Gets the width of the image<int> = image.getHeight()
Gets the height of the imageimage.clip(x, y, width, height)
Clips the current image; the dimensions have to be smaller than the original imageimage.fillRect(x, y, width, height, color)
Fills the rectangle with the supplied colorimage.applyFilters(filters, returnResult)
Applies a list of filters to the image<int> = image.getIndex(x, y)
Converts the x and y coordinates to the sequential index of the image bufferimage.writeImage(path, fn)
Writes the image to the filesystem and calling the fn
function when doneimage.toBlob(fn)
Exports data to a buffer and calling the fn
function when done####Pixel manipulation
<uint32> = image.getAtIndex(idx)
Gets complete 32-bit pixel at index idx
<uint32> = image.getAt(x, y)
Gets complete 32-bit pixel at the x and y coordinate<uint32> = image.getPixel(x, y)
Gets complete 32-bit pixel at the x and y coordinateimage.setAtIndex(idx, color)
Sets a specific color at the index. A color left-off will not be modified.image.setAt(x, y, color)
Sets a specific color at the x and y coordinate. A color left-off will not be modified.image.setPixel(x, y, color)
Sets a specific color at the x and y coordinate. A color left-off will not be modified.<uint32> = image.getColorAtIndex(idx)
Gets the color components of the pixel at index idx
<uint32> = image.getColor(x, y)
Gets the color components of the pixel at the x and y coordinate<uint8> = image.getRed(idx)
Gets the red intensity at an indeximage.setRed(idx, value, opacity)
Sets the red intensity at an index<uint8> = image.getGreen(idx)
Gets the green intensity at an indeximage.setGreen(idx, value, opacity)
Sets the green intensity at an index<uint8> = image.getBlue(idx)
Gets the blue intensity at an indeximage.setBlue(idx, value, opacity)
Sets the blue intensity at an index<uint8> = image.getAlpha(idx)
Gets the alpha intensity at an indeximage.setAlpha(idx, value, opacity)
Sets the alpha intensity at an index####Pixel conversion
<uint32> = image.getBlurPixelAt(idx, funcName)
Gets the blurred color of a pixel at index idx
<uint32> = image.getYIQAtIndex(idx)
Gets the YIQ-value of a pixel at index idx
<uint32> = image.getYIQ(x, y)
Gets the YIQ-value of a pixel at the x and y coordinate<uint32> = image.getLumaAtIndex(idx)
Gets the luma of a pixel at index idx
<uint32> = image.getLuma(x, y)
Gets the luma of a pixel at the x and y coordinate<uint32> = image.getSepiaAtIndex(idx)
Gets the sepia-color of a pixel at index idx
<uint32> = image.getSepia(x, y)
Gets the sepia-color of a pixel at the x and y coordinate<uint32> = image.getLuminosityAtIndex(idx)
Gets the luminosity of a pixel at index idx
<uint32> = image.getLuminosity(x, y)
Gets the luminosity of a pixel at the x and y coordinate<uint32> = image.getLightnessAtIndex(idx)
Gets the lightness of a pixel at index idx
<uint32> = image.getLightness(x, y)
Gets the lightness of a pixel at the x and y coordinate<uint32> = image.getGrayScaleAtIndex(idx)
Gets the grayscale-value of a pixel at index idx
<uint32> = image.getGrayScale(x, y)
Gets the grayscale-value of a pixel at the x and y coordinate###Filters Following filters can be applied to an image:
##API-Documentation
Generate the documentation with following command:
npm run docs
The documentation will be generated in the docs
folder of the module root.
##Tests
Run the tests with the following command:
npm run test
The code-coverage will be written to the coverage
folder in the module root.
##Third-party libraries
The following third-party libraries are used by this module:
###Dependencies
###Dev-Dependencies
##License
The MIT License
Copyright 2014-2015 Yahoo Inc.
FAQs
JavaScript-based PNG image encoder, decoder, and manipulator
The npm package pngjs-image receives a total of 49,210 weekly downloads. As such, pngjs-image popularity was classified as popular.
We found that pngjs-image demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.