Package Exports
- @twaves/node-image-concat
- @twaves/node-image-concat/dist/index.min.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@twaves/node-image-concat) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Install
$ npm install @twaves/node-image-concat --saveUsage
const ImagesConcat = require("@twaves/node-image-concat");
const base64Image = `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`;
const base64Data = await ImagesConcat([base64Image, base64Image]);
// 将Base64字符串转换为缓冲区
const bitmap = Buffer.from(
base64Data?.replace("data:image/jpeg;base64,", ""),
"base64"
);
// 写入文件到指定路径
fs.writeFileSync(path.resolve("/Users", `test.jpg`), bitmap);API
ImagesConcat(images[, options])
imagesArray of (Base64 Images) - List of images to concat.optionsObject (optional)directionBoolean - Direction of the merged image. If this value istrue, the images will be merged vertically (column). Otherwise, the images will be merged horizontally (row). Default isfalse.colorNumber | String (hex) - Default background color represented by RGBA hex value. Default is0x00000000.alignString - Aligning of given images. If the images are not all the same size, images will be sorted to largest image. Possible values arestart,centerandend. Default isstart.offsetNumber - Offset in pixels between each image. Default is0.margin(Number | String | Object) - Margin of the result image. IfNumberorStringis passed, it will be considered as standard css shorthand properties (e.g. '40 40 0 10'). AnObjectentry can have following options:topNumber (optional) - Margin on top side of result image. Default is0.rightNumber (optional) - Margin on right side of result image. Default is0.bottomNumber (optional) - Margin on bottom side of result image. Default is0.leftNumber (optional) - Margin on left side of result image. Default is0.
dWidthNumber - Set Image Width. Default is0.dHeightNumber - Set Image Height. Default is0.
Returns a Promise that resolves to the merged Base64 Image.