/**
* Created by chaozhou on 2015/9/21.
*/
var images = require("images"); /**
* 缩放图像
* @param srcImg 被缩放图像
* @param size 缩放后图像的宽度(图像高度等比缩放)
*/
var resizeCurrentImg = function(srcImg, size){
images(srcImg) //加载源图像
.resize(size) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
.save(srcImg, { //保存当前图像至srcImg,图像质量100
quality : 100
});
}; /**
* 缩放图像
* @param srcImg 源图像
* @param width 缩放后的宽度
* @param height 缩放后的高度
*/
var resizeCurrentImgWithArgs = function(srcImg, width,height){
images(srcImg) //加载源图像
.resize(width,height) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
.save(srcImg, { //保存当前图像至srcImg,图像质量100
quality : 100
});
}; /**
* 图像缩放
* @param srcImg 源图像
* @param dstImg 生成图像
* @param size 生成图像宽度(高度会自适应缩放)
*/
var resizeImg = function(srcImg, dstImg,size){
images(srcImg) //加载源图像
.resize(size) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
.save(dstImg, { //保存当前图像至srcImg,图像质量100
quality : 100
});
}; /**
* 图像缩放
* @param srcImg 源图像
* @param dstImg 生成图像
* @param width 缩放后的宽度
* @param height 缩放后的高度
*/
var resizeImgWithArgs = function(srcImg, dstImg,width,height){
images(srcImg) //加载源图像
.resize(width,height) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
.save(dstImg, { //保存当前图像至srcImg,图像质量100
quality : 100
});
}; /**
* 添加水印
* @param srcImg 源图
* @param watermarkImg 水印图
* @param x 添加水印水平位置x
* @param y 添加水印垂直位置y
*/
var addWatermark = function(srcImg,watermarkImg,x,y){
images(srcImg)
.draw(images(watermarkImg), x, y)
.save(srcImg, {
quality : 100 //保存图片到文件,图片质量为100
});
}; /**
* 获取图像的宽高
* @param srcImg 源图像
* @param callBack
*/
var ofSize = function(srcImg,callBack){
callBack(images(srcImg)//加载源图像,获取图像大小,返回结果:{ width: 1001, height: 897 }
.size());
};

nodejs图片裁剪、水印(使用images)的更多相关文章

  1. nodejs图片裁剪、缩放、水印

    关于nodejs下图片的裁剪.水印,网上的模块很多,主要如下: gm:https://github.com/aheckmann/gm node-canvas:https://github.com/Au ...

  2. Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理

    前言 java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API ...

  3. PHP图片裁剪_图片缩放_PHP生成缩略图

    在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多,每天更新大量图,靠人工PS处理是不现实的,那么有没有自动处理图片的程序了! ...

  4. node.js平台下,cropper.js实现图片裁剪预览并转换为base64发送至服务端。

    一 .准备工作 1.首先需要先下载cropper,常规使用npm,进入项目路径后执行以下命令: npm install cropper 2. cropper基于jquery,在此不要忘记引入jq,同时 ...

  5. 使用JCrop进行图片裁剪,裁剪js说明,裁剪预览,裁剪上传,裁剪设计的图片处理的工具类和代码

     1.要想制作图片裁剪功能,可以使用网上的裁剪工具JCrop,网址是:https://github.com/tapmodo/Jcrop/ 案例效果如下: 2.引入JCrop的js代码,具体要引入那 ...

  6. nodejs图片处理工具gm用法

    在做H5应用中,有时候会涉及到一些图片加工处理的操作,nodejs有一个很好的后台图片处理module,就是这里说的gm.gm有官方文档,但感觉写得太抽象,反而看不懂了.这里把一些常见的用法写下,供大 ...

  7. cropper.js实现图片裁剪预览并转换为base64发送至服务端。

    一 .准备工作 1.首先需要先下载cropper,常规使用npm,进入项目路径后执行以下命令: npm install cropper 2. cropper基于jquery,在此不要忘记引入jq,同时 ...

  8. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  9. php课程 8-32 如何使用gd库进行图片裁剪和缩放

    php课程 8-32 如何使用gd库进行图片裁剪和缩放 一.总结 一句话总结:图片缩放到图片裁剪就是改变原图截取的位置以及截取的宽高. 1.电商网站那么多的图片,如果全部加载卡得慢的很,所以他们是怎么 ...

随机推荐

  1. javaweb报错:java.lang.NumberFormatException: null

    报错环境: JSP向Severlet页面传值,当Serverlet页执行以下语句时,后台日志报错 int softType = Integer.parseInt(request.getParamete ...

  2. 【题解】 UOJ #2. 【NOI2014】起床困难综合症

    传送门 不是很简单? 考虑一下这个数的二进制位是什么,要么是1,要么是0. 然后怎么做? 因为一开始可以选0~m的数,那么二进制为中全是0的肯定是可以选的. 接着考虑全是1的怎么选? 如果全都是1的而 ...

  3. [国家集训队] tree Ⅱ

    bzoj2631(权限题...):链接 落咕:链接 考察的是LCT维护链上信息. 但是这个题不一样的是又有加法又有乘法...(有木有想到落咕的模板--线段树2qwq) 因为乘法的运算优先度比加法高,所 ...

  4. 【06】循序渐进学 docker:跨主机通信

    写在前面的话 目前解决容器跨主机通信的方案有很多种,这里给出的只是其中的一种,而且还不是最好的方案,不过归根结底,大同小异.在学习 docker swarm 之前,大家可以先看看这种. 啥是 over ...

  5. drf 三级菜单后台序列化以及数据库的设计

    第一种, model.py结构: class GoodsCategory(models.Model): """ 商品类别 """ CATEG ...

  6. linux设置ip别名

    修改文件 # vi /etc/hosts 添加地址和别名 192.168.222.126 s1 ##前面是机器ip,后面是别名 测试 [root@bogon /]# ping s1 PING s1 ( ...

  7. 为什么sudo执行命令还是会提示权限不够

    安装openstack 的过程中需要执行以下命令,虽然使用了sudo,但是依然提示权限不够 $ sudo echo "deb http://ubuntu-cloud.archive.cano ...

  8. using声明和using指示

    using声明(using declaration) using namespacename::namespacemember; using声明一次只引入命名空间的一个成员.从效果上看就好像using ...

  9. [蓝桥杯][2016年第七届真题]路径之谜(dfs)

    题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...

  10. sklearn的train_test_split

    train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签. 格式: X_train,X_test, y_train, y_test ...