沉沙
2018-07-26
来源 :
阅读 2051
评论 0
摘要:本篇Node.js教程探讨了Node.js轻量级跨平台图像编解码库node-images模块,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。
Node.js轻量级跨平台图像编解码库
github:https://github.com/zhangyuanwei/node-images
Features 功能特性
· 轻量级:无需安装任何图像处理库。
· 跨平台:Windows下发布了编译好的.node文件,下载就能用。
· 方便用:jQuery风格的API,简单可依赖。
我们可以通过这个插件做什么呢,常见的可以加水印,简单的放大缩小压缩处理等。
实例:
//编码图片依赖模块https://github.com/zhangyuanwei/node-images
var images = require("images");var fs = require("fs");var path = require("path");
function readFile(src,dst){
//判断文件需要时间,则必须同步
if(fs.existsSync(src)){
//读取文件夹 fs.readdir(src,function(err,files){
if(err){
throw err;
}
files.forEach(function(filePath){
console.log(dst);
//url+"/"+filename不能用/直接连接,Unix系统是”/“,Windows系统是”\“
var url = path.join(src,filePath),
dest = path.join(dst,filePath);
fs.stat(url,function(err,stats){
if(err)throw err;
//是文件
if(stats.isFile()){
//正则判定是图片
if(/.*\.(jpg|png|gif)$/i.test(url)){
encoderImage(url,dest);
}
}else if(stats.isDirectory()){
exists(url,dest,readFile);
}
})
});
});
}else{
throw "no files,no such!"
}
}
//这里处理文件跟复制有点相关,输出要检测文件是否存在,不存在要新建文件function exists(url,dest,callback){
fs.exists(dest,function(exists){
if(exists){
callback && callback(url,dest);
}else{
//第二个参数目录权限 ,默认0777(读写权限)
fs.mkdir(dest,0777,function(err){
if (err) throw err;
callback && callback(url,dest);
});
}
});
}
function encoderImage(sourceImg,destImg){
images(sourceImg) //加载图像文件
.size(1000) //等比缩放图像到1000像素宽
.draw(images("pficon.jpg"),10,10) //在(10,10)处绘制Logo .save(destImg,{
quality : 50 //保存图片到文件,图片质量为50 });
}
readFile("./src","./out");
module.exports = readFile;
本文由职坐标整理并发布,了解更多内容,请关注职坐标WEB前端Node.js频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号