如何使用Node.js gm graphicsMagick包装获取像素

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

谢谢!

       

网上收集的解决方案 "如何使用Node.js gm graphicsMagick包装获取像素"

我想获得一个图像的平均颜色,我用下面的脚本解决它:

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格式以从缓冲区中读取像素。 根本不是最优的,我真的希望有一个更好的解决scheme,但对我来说这已经足够好了。

编辑:另一种select可能是使用自定义参数 。