From 6bae30f572b2c08fb7f20c49002c747db3c02dd8 Mon Sep 17 00:00:00 2001 From: Nick Playfair Date: Sat, 6 Feb 2021 21:19:30 +0000 Subject: [PATCH] Update README --- README.md | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5445d4d..85709e2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Only tested with gerbers generated by EAGLE. Requires node version 10 or higher. ## Usage - +### Save a PNG file ``` const { ImageGenerator } = require('@nplayfair/npe_gerber'); @@ -18,7 +18,6 @@ const folderConfig = { } const imageConfig = { - // Refer to the sharp documentation for these values resizeWidth: 600, density: 1000, compLevel: 1 @@ -32,4 +31,39 @@ fileProc.gerberToImage(gerberArchive) .then(filename => { console.log(`Generated image ${filename}`); }) -``` \ No newline at end of file +``` +### Return a PNG stream +``` +const { ImageGenerator } = require('@nplayfair/npe_gerber'); + +const folderConfig = { + tmpDir: path.join(__dirname, 'tmp'), + imgDir: path.join(__dirname, 'img') +} + +const imageConfig = { + resizeWidth: 600, + density: 1000, + compLevel: 1 +} + +const gerberArchive = '/path/to/gerber.zip'; + +const fileProc = new ImageGenerator(folderConfig, imageConfig); + +fileProc.gerberToStream(gerberArchive) + .then(stream => { + // Do something with the stream + }) +``` + +## Image Processing Configuratation + +Several values need to be set in the image configuration object. An SVG vector is first created as an intermediate step before being converted to a PNG. These correspond to the parameters passed to [sharp](https://sharp.pixelplumbing.com/) for +resizing the intermediary SVG and output PNG file. These settings are: + +- `resizeWidth`: Width in pixels of the output image. +- `density`: DPI to create the SVG with. Low values will result in a poor quality output image. +- `compLevel`: PNG compression level. + +More information about these settings can be found in the [sharp](https://sharp.pixelplumbing.com/) documentation.