使用graphicsmagick获取图像像素
目前我使用pngjs
,就像在这个答案中所描述的,但我想看看如何使用GraphicsMagick获取图像的像素。
我使用gm
作为GraphicsMagick的包装。 我找不到任何信息如何获得图像像素。
我想有这样的东西:
myImg.getPixel(x, y, function (err, pixel) { // pixel: { r: ..., g: ..., b: ..., a: ... } });
我想知道如果要toBuffer
会帮助:
gm('img.jpg') .resize(100, 100) .toBuffer('PNG',function (err, buffer) { if (err) return handle(err); console.log('done!'); })
有缓冲区,也许我能够以某种方式计算像素的颜色…
使用graphicsmagick获得给定坐标(x,y)的像素信息(r,g,b,a)最简单的方法是什么?
使用pngjs库可以parsing从GraphicsMagick获得的PNG缓冲区:
const PNG = require("pngjs").PNG , gm = require("gm") ; let img = gm("path/to/image.png"); // Get the PNG buffer img.toBuffer("PNG", (err, buff) => { if (err) { ... } // Get the image size img.size((err, size) => { if (err) { ... } // Parse the PNG buffer let str = new PNG(); str.end(buff); // After it's parsed... str.on("parsed", buffer => { // Get some pixel from the image let x = 27 , y = 9 ; let idx = (size.width * y + x) << 2 , rgb = { r: buffer[idx] , g: buffer[idx + 1] , b: buffer[idx + 2] } ; }); str.on("error", ...); }); });
- nodejs gm模块脚本在多个单个图像中分割一个大的多页tiff文件
- 使用GraphicsMagick方法取决于具有CollectionFS的维度
- 使用graphicsmagick在nodejs上创build图像
- gmstream标准输出pipe道抛出未处理的错误
- 在Nodejs中使用gmresize和构图两个或多个图像
- Node.js GraphicsMagic:检查安装和function
- pipe道stream到graphicsmagick / imagemagicksubprocess
- Graphicsmagick autoOrient()。size()在node.js库中给出了翻转的图像大小
- resize和裁剪图像并保持纵横比NodeJS&gm