操作Node.js中的图像
我想将图像的方向从纵向改为横向,反之亦然。
我尝试使用许多可用的npm包:
* 旋转图像
* 图像旋转
* jpegorientation
* gm
* rad
但是,这些都是一种或其他方式不工作,因为我想这样做,或者每个都有一些或其他的限制。
我试图find一个可能的解决scheme,并尽可能多地寻找它。 大部分时间,它已经完成使用gm 。 我尝试使用gm进行image processing:
码:
var gm = require('gm'); gm('path/filename.jpg') .autoOrient() .write('path/destinationfile.jpg', function (err) { if (err) { console.log(err); } else console.log("Orientation changed successfully!"); })
但是我得到一个错误:
错误:无法执行GraphicsMagick / ImageMagick:gm“identify”“-ping”“-verbose”“path / filename.jpg”这很可能意味着无法findgm / convert二进制文件。
这个错误只能通过使用外部二进制库解决。我不想涉及任何种类的第三方库的依赖。
如果没有预先安装任何外部二进制库(brew等)或如何更好地使用现有的任何包,那么是否有人可以帮助我解决问题。
您可以使用lwip中的包含方法 – 用于NodeJS的轻量级image processing器
这里是一个例子:
// obtain an image object: require('lwip').open('Example.jpg', function(err, image){ // check err... // define a batch of manipulations and save to disk as JPEG: image.batch() .contain(image.height(), image.width(), 'black') .writeFile('output.jpg', function(err){ // check err... console.log(err || 'Done'); }); });
这改变了方向,填补了黑色的空白。
我只是试了一下,我只需要将lwip模块安装到我的应用程序中。
npm install lwip --save
(CentOS)的PATH问题。 所以我会试试这个:
sudo ln -s /usr/local/bin/gm /usr/bin/gm sudo ln -s /usr/local/bin/convert /usr/bin/convert
希望它可以帮助。
$ sudo apt-get install graphicsmagick
- 在Mac OS X 10.8上安装GraphicsMagick
- graphicsmagick裁剪取决于原始图像大小(resuse readstream)
- ()GraphicsMagic中如何将图像缓冲区数据传递给gm
- 在Azure函数上使用ImageMagick或GraphicsMagick
- 如何使用node.js和gm检查损坏的jpg图像?
- Node.js GraphicsMagic:检查安装和function
- 如何在node.js中使用graphicsmagick来裁剪圆形图片(其他方式可以通过其他方式在node.js上进行)
- 使用graphicsmagick获取图像像素
- 在节点中的graphicsmagick中将PNG缓冲区转换为JPG