【问题标题】:How to make one image from multiple images in node js如何从节点js中的多个图像制作一个图像
【发布时间】:2022-10-14 02:31:14
【问题描述】:

我想从节点 js 中的多个图像中制作一个图像。我为此找到了 NPM 包“spritesmith”。它结合了图像并返回图像的缓冲区表示,但我希望对最终图像有更多的控制权。我希望输入图像显示在最终图像的特定位置(完美像素),并且还想要缩小图像。我做了一些搜索,但没有找到任何关于它的信息。任何人都可以为做这件事抛出一些可能性。我想为每个图像组合大约 10,000 张图像和 10 x 10 像素。我的计划是当用户上传新图像时,我想将其添加到以前的巨型图像中。

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。

标签: node.js image-processing css-sprites sprite-sheet


【解决方案1】:

使用包Sharp

images //your array of 10000 images
const emptyImage = await sharp({
    create: {
        width: 1000,
        height: 1000,
        channels: 3,
        background: { r: 255, g: 255, b: 255 },
    },
})
.composite(
    images.map((image, index)=>({
        input: image,
        left: index%100,
        top: parseInt(index/100),
        width: 10,
        height: 10,
    }))
)    
.toFormat('jpeg', { quality: 100 })
.toBuffer();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多