【问题标题】:Creating 16 bit greyscale PNGs in Node.js out of an array在 Node.js 中从数组中创建 16 位灰度 PNG
【发布时间】:2017-03-13 17:08:06
【问题描述】:

我正在使用二维数组在 Node.js 中生成 PNG。我使用的是Jimp,但它只生成 8 位深度的图像。这会导致可见的色带 (see here)。是否有一个 node.js 库可以生成像这样具有更高位深度的图像?

【问题讨论】:

    标签: javascript arrays node.js png


    【解决方案1】:

    你可以试试 lwip 模块吗?

    npm install lwip
    

    lwip 比 Jimp 快得多(请参阅:images-manipulation-performance

    以下示例以 RGBa 颜色模式(32 位深度)制作 1.png 文件,并且文件大小要小得多。

    var lwip = require('lwip');
    
    lwip.create(833, 716, {r: 49, g: 49, b: 49, a: 100}, function(err, image){
      // check err
      image.writeFile('1.png', 'png', function(err){
          // check err...
          // done. check 1.png file
        })
    });
    

    【讨论】:

    • 当我说 8 位深度时,我的意思是它每个通道只有 8 位。我需要它有足够的深度来覆盖超过 256 个灰度级(看看它有可见带的图像)。
    猜你喜欢
    • 2017-02-13
    • 2012-02-07
    • 2019-08-27
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多