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);


//执行效果如图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值