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去写自己的模块。