node 裁切工具 gm 使用报错
var gm = require('gm');
var fs = require('fs');
gm('./img/a.jpg')
.resize(200,200,'!')
.write('./img/b.jpg', function (err) {
if(err){
console.log(err)
console.log('err')
}else{
console.log('success')
}
})
image.png
路径也正确,但是运行就会报err
image.png
gm 安装成功了,但是gm/convert binaries can’t be found 怎么解决? 请指教
13 回复
首先,我并不知道楼主的环境配置是什么样的,然后我来说一下可能的原因。
- 楼主鉴于这种情况,我认为您应该仔细看一下npm gm,里面有一句话:
First download and install GraphicsMagick or ImageMagick.
这个模块是依赖于GraphicsMagick和ImageMagick这两个软件的,如果你的机器上没有,需要安装。
- 这个模块可以使用可以使用
GraphicsMagick也可以用ImageMagick,由你的环境决定。
Use ImageMagick instead of gm
Subclass gm to enable ImageMagick
var fs = require('fs')
, gm = require('gm').subClass({imageMagick: true});
// resize and remove EXIF profile data
gm('/path/to/my/img.jpg')
.resize(240, 240)
...
@CRAZYFAKE 电脑是 mac 环境 文档中的两个 包 GraphicsMagick (gm)、ImageMagick ,我已经全部装上了, image.png
但是不管我使用gm 还是 imageMagick ,都会报出这个错误。困扰好久!
First download and install GraphicsMagick or ImageMagick. In Mac OS X, you can simply use Homebrew and do:
brew install imagemagick
brew install graphicsmagick
@rongchanghai 我是这么用的你看一下,直接require 是不行的~
const gm = Promise.promisifyAll(require('gm').subClass({ imageMagick : true }))