1. /**
  2. * Created by chaozhou on 2015/9/21.
  3. */
  4. var images = require("images");
  5.  
  6. /**
  7. * 缩放图像
  8. * @param srcImg 被缩放图像
  9. * @param size 缩放后图像的宽度(图像高度等比缩放)
  10. */
  11. var resizeCurrentImg = function(srcImg, size){
  12. images(srcImg) //加载源图像
  13. .resize(size) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
  14. .save(srcImg, { //保存当前图像至srcImg,图像质量100
  15. quality : 100
  16. });
  17. };
  18.  
  19. /**
  20. * 缩放图像
  21. * @param srcImg 源图像
  22. * @param width 缩放后的宽度
  23. * @param height 缩放后的高度
  24. */
  25. var resizeCurrentImgWithArgs = function(srcImg, width,height){
  26. images(srcImg) //加载源图像
  27. .resize(width,height) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
  28. .save(srcImg, { //保存当前图像至srcImg,图像质量100
  29. quality : 100
  30. });
  31. };
  32.  
  33. /**
  34. * 图像缩放
  35. * @param srcImg 源图像
  36. * @param dstImg 生成图像
  37. * @param size 生成图像宽度(高度会自适应缩放)
  38. */
  39. var resizeImg = function(srcImg, dstImg,size){
  40. images(srcImg) //加载源图像
  41. .resize(size) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
  42. .save(dstImg, { //保存当前图像至srcImg,图像质量100
  43. quality : 100
  44. });
  45. };
  46.  
  47. /**
  48. * 图像缩放
  49. * @param srcImg 源图像
  50. * @param dstImg 生成图像
  51. * @param width 缩放后的宽度
  52. * @param height 缩放后的高度
  53. */
  54. var resizeImgWithArgs = function(srcImg, dstImg,width,height){
  55. images(srcImg) //加载源图像
  56. .resize(width,height) //设置图像宽高,如果height未指定,则根据当前宽高等比缩放
  57. .save(dstImg, { //保存当前图像至srcImg,图像质量100
  58. quality : 100
  59. });
  60. };
  61.  
  62. /**
  63. * 添加水印
  64. * @param srcImg 源图
  65. * @param watermarkImg 水印图
  66. * @param x 添加水印水平位置x
  67. * @param y 添加水印垂直位置y
  68. */
  69. var addWatermark = function(srcImg,watermarkImg,x,y){
  70. images(srcImg)
  71. .draw(images(watermarkImg), x, y)
  72. .save(srcImg, {
  73. quality : 100 //保存图片到文件,图片质量为100
  74. });
  75. };
  76.  
  77. /**
  78. * 获取图像的宽高
  79. * @param srcImg 源图像
  80. * @param callBack
  81. */
  82. var ofSize = function(srcImg,callBack){
  83. callBack(images(srcImg)//加载源图像,获取图像大小,返回结果:{ width: 1001, height: 897 }
  84. .size());
  85. };

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. boost::string 例题1

    如果有一个语法正确的shader源文件,其包括若干关于uniform变量的定义.请写一个程序从某个shader源文件里提取其全部定义的uniform变量.要求记录其名称.数据类型和初始值(如果有定义) ...

  2. WinForm Column cannot be added because its CellType property is null.

    在Winform  DatatGridView 控件中绑定了一个模型的属性,结果在生成窗口时,发生错误,异常信息如下 : Column cannot be added because its Cell ...

  3. 基于KMP与Levenshtein模糊匹配算法的银行联行号查询

    在人民银行那里,每个银行的每一个营业网点都有自己唯一的银行联行号,根据这个号码能快速定位一间银行具体的分支行,就像根据一个身份证号码能快速确定一个人一样.例如汇款时,汇款单上要求填写收款人开户行,然后 ...

  4. c语言-猜生日算法

    #include<stdio.h>int main(){ int a1[6]={1,3,5,7,9,11}; int a2[6]={2,3,6,7,10,11}; int a3[6]={4 ...

  5. SQLAlachemy 自动提交配置 SQLALCHEMY_COMMIT_ON_TEARDOWN

    挖坑:自动提交省去了每次 commit,添加数据对象后立马取 id 返回None 填坑 :立马要取 id 的地方 commit一下

  6. ThreadFactory类的使用

    之前创建线程的话,基本上是使用new Thread(),或者是将任务提交到线程池执行.今天看了一下洁城浩的<图解java多线程设计模式>突然看到还可以使用ThreadFactory来创建一 ...

  7. codeforces1137B kmp(fail的妙用)

    题目传送门 题意:给出$s$和$t$两个串,让你构造出一个答案串,使得答案串中的01数量和s一样,并且使$t$在答案串中作为子串出现次数最多. 思路: 要想出现的次数尽可能多,那么就要重复的利用,哪一 ...

  8. Python下使用 redis数据库

    初识Rdeis数据库 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zs ...

  9. Python——制作模块

    步骤一:创建包 步骤二:编辑示例模块代码 __init__调用: 步骤三:创建setup.py from distutils.core import setup setup(name="pa ...

  10. CentOS6.5安装testlink1.9.14

    前提条件:准备一台CentOS6.5虚拟机,配置好IP,关闭iptables和selinux. 这里提供上我的云盘软件,可以去这里下载:http://pan.baidu.com/s/1qXymele ...