node gm图片操作

1,安首先要安装 GraphicsMagick或者ImageMagick

2,npm install gm   --save

3,编码测试

复制代码
var fs = require('fs')
//graphMagick
const gm = require('gm');
//imageMagick
//const gm = require('gm').subClass({imageMagick: true});

// resize and remove EXIF profile data
gm('./20191012105220251.jpg')
.resize()
.noProfile()   //清除图片信息
.quality(70)   //图像质量
.autoOrient() //自动旋转
.flip() // 翻转
.blue(7,3) //模糊
.edge(4) // //
.crop(800,200,100,100)//裁剪参数(w,h,x,y) .write('./resize.jpg', function (err) { if (!err) console.log('done'); });


//裁剪
gm("./dist.jpg").crop(200, 400, 500, 500).write('./resize.jpg', function (err) {
if (!err) console.log('done');
});
//保持宽高比
gm("./dist.jpg").resize(100).write('./resize1.jpg', function (err) {
if (!err) console.log('done');
});
//保持宽高比
gm("./dist.jpg").resize(null, 100).write('./resize2.jpg', function (err) {
if (!err) console.log('done');
});
//参数'!'用于忽略宽高比
gm("./dist.jpg").resize(100, 100, '!').write('./resize3.jpg', function (err) {
if (!err) console.log('done');
});


gm("./dist.jpg").rotate('green', 45).write('./resize4.jpg', function (err) {
if (!err) console.log('done');
});

 
复制代码

 

posted @   fsl  阅读(1050)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2009-11-04 asp.net开发网站时指定或截取标题字数的方法和内容页多关键字切分的方法
2009-11-04 asp.net生成静态页面的一个方法
点击右上角即可分享
微信分享提示