【问题标题】:How to getPixel using Node.js gm graphicsMagick wrapper如何使用 Node.js gm graphicsMagick 包装器获取像素
【发布时间】:2013-05-03 01:17:22
【问题描述】:

我目前正试图弄清楚如何使用 Node.js gm graphicsMagic 包装器获取单个像素。我的总体最终目标是在图像中获得具有百分比的前 10 种颜色。我正在尝试编写一些函数来获得我的结果,但是对于我的一生,我无法弄清楚如何使用 gm 包装器获取像素本身。似乎 GraphicsMagick 有一个 GetPixels 方法,但我没有运气能够调用它。任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 您对此事有什么好消息吗?我碰巧发现和你一样的情况。谢谢!

标签: node.js graphicsmagick


【解决方案1】:

我想获得图像的平均颜色,我用以下脚本解决了这个问题:

gm(file).setFormat('ppm')
    .resize(1, 1)
    .toBuffer(function (err, buffer) {
        var color = "rgb(" + buffer.readUInt8(buffer.length - 3)
            + "," + buffer.readUInt8(buffer.length - 2)
            + "," + buffer.readUInt8(buffer.length - 1) + ")";
        // ...
    });

基本上,您可以裁剪图像并将其转换为 ppm 格式以从缓冲区中读取像素。根本不是最优的,我真的希望有更好的解决方案,但对我来说已经足够了。

编辑:另一种选择可能是使用Custom Arguments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多