1.9 KiB
1.9 KiB
npe_gerber
This is still being developed and isn't ready for production! Only tested with gerbers generated by EAGLE.
Requires node version 10 or higher.
Usage
Save a PNG file
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.gerberToImage(gerberArchive)
.then(filename => {
console.log(`Generated image ${filename}`);
})
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 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 documentation.