操作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