node.js图片剪切 将不同大小的图片不失真的剪切为固定大小

//将不同大小的图片不失真的剪切为固定大小

//下面是images模块安装方法和api

//http://cnodejs.org/topic/512b9fecdf9e9fcc580eb248
var images = require("images");
//要剪切的宽高
var tw = 200;
var th = 200;
//图片名称
var pname = 'wz_jia';
//图片路径
var src = "./public/" + pname + ".jpg";
//图片对象
var obj = images(src);
//原图宽高
var w = obj.width();
var h = obj.height();
//缩略图路径
var tempsrc = './public/' + pname + "_t.jpg";
//剪切后路径
var dessrc = './public/' + pname + "_ok.jpg";
if (w < h) {
    console.log('宽小于高');
    //缩略图的高度
    var nw = tw;
    var nh = h / w * tw;
    var fromx = 0;
    var fromy = (nh - th) / 2;
} else {
    console.log('宽大于高');
    var nw = w / h * th;
    var nh = th;
    var fromx = (nw - tw) / 2;
    var fromy = 0;
}
images(src).size(nw).save(tempsrc);

images(tw, th).copyFromImage(images(tempsrc), fromx, fromy, tw, th).save(dessrc);


//执行效果如图

node.js图片剪切 将不同大小的图片不失真的剪切为固定大小_第1张图片

你可能感兴趣的:(node.js图片剪切 将不同大小的图片不失真的剪切为固定大小)