node.js实现图片裁剪+获取图片大小+加logo水印

1、在webstorm中装npm install images插件

 代码如下:     

var fs = require("fs");
var images=require('images');
router.get('/zipFile',function (req,res,next) {
    var lastPut='222.jpg';//生成的图片
    var sourcePic="../public/images/jietu.png";//原图片
    var watermark="../public/defaultPicture/defaultMan.jpg";//logo水印
    var x=images(sourcePic).width()-images(watermark).width();//sourcePic.width-watermark.width
    var y=images(sourcePic).height()-images(watermark).height();//sourcePic.height-watermark.height
    images(sourcePic)
    //加载图像文件
        .size(1000,1000)//等比缩放图像到width像素宽,默认以宽度来压缩的。
        .draw(images(watermark),x,y)     //在(x,y)处绘制watermark水印,右下角绘制logo
        .save(lastPut, {
quality:50 //保存图片到文件,图片质量为50
});
var
staSync = fs.statSync(lastPut).size;//生成的图片的大小
});

相关资料:https://github.com/zhangyuanwei/node-images
http://nodejs.cn/api/fs

以上是使用images插件


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


使用:sharp插件速度相对来说比gmimages块,失贞程度也比较低。

npm install sharp --save


var sharp=require('sharp');

sharp(__dirname+'/../public/temp/333.jpg')
   .overlayWith(__dirname+'/../public/temp/shuiyin.png',{gravity:sharp.gravity.southeast}
)//加水印
.resize(null,1280)//按照height去压缩
.toFile(__dirname+'/../public/temp/qqq1.jpg',function (error) { console.log(error); console.log(typeOptions.isEmpty(error)); if(typeOptions.isEmpty(error)){ //不报错。 console.log("不报错。"); sharp.cache(false);//清除占用资源 }else{ console.log("报错。"); }});sharp总比来说比其他插件好用。sharp项目主页:https://github.com/lovell/sharpsharp项目中有源码,可以根据源码中的demo去写自己的模块。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值