gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。
gm是什么
nodejs图片处理工具的插件--gm,它封装了GraphicsMagick(GM)和ImageMagick(IM),它使用spawn的方式调用。
GraphicsMagick(GM) 或 ImageMagick(IM)是两种常用的图片处理工具,功能基本相同,GM是IM的分支。
nodejs图片处理工具gm的使用
前置软件安装
安装GraphicsMagick和ImageMagick
- ImageMagick官网:imagemagick.org/script/down…
- ImageMagick软件地址:imagemagick.org/archive/bin…
在安装时,安装ImageMagick时一定要要选择画框的部分(gm插件调用的是convert命令)
-
GraphicsMagick 是一个用来读写、生成超过 90 种图像格式的工具集合,支持包括 TIFF, JPEG, JPEG-2000,PNG, PDF, PhotoCD, SVG, 和 GIF 等图像格式。GraphicsMagick 是基于ImageMagick开发的。
-
GraphicsMagick官网:www.graphicsmagick.org/
-
GraphicsMagick软件地址:sourceforge.net/projects/gr…
GraphicsMagick-1.3.35-Q16-win64-dll.exe
安装gm
npm install gm -S
使用
const glob = require('glob')
const gm = require('gm')
glob('./origin/*.jpg',(err,files)=>{
console.log(files.length)
files.forEach((item, index)=>{
console.log(item, index)
gm(item).size((err,size)=>{
console.log('size:', size)
let width = 640
let height = 400
if(size.width < size.height){
width = 400
height = 640
}
gm(item).resize(width, height, '!').write(`./result/${item}`, err=>{
console.log("err",err,index)
})
})
// .write(`./result/${item}`, ()=>{
// console.log('ok', index)
// })
})
})
const glob = require("glob");
var gm = require("gm")
const files = glob.sync("pics/*.JPG");
console.log(files, files.length);
files.forEach((file,index)=>{
gm(file).resize(640,400, '!').write(`dist/${file}`, res=>{
console.log(index,res)
})
})