nodejs图片裁剪、水印(使用images)

/**
 * 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());
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏成长道路

文本型数据的向量化:TF-IDF

1.对于文本型数据的分类处理(或者其他的处理),根据ik和jcseg等分词器先对它们进行分词处理之后,大家都知道,计算机是处理不了汉字的,对于文本型的词我们如何...

2170
来自专栏机器学习算法全栈工程师

OpenCV从零基础---检测及分割图像的目标区域

作者:王抒伟 编辑:王抒伟 算了 爱看多久看多久 零 参考目录: 1.获取图片 2.转换灰度并去噪声 3.提取图像的梯度 4.我们继续去噪声 5.图像形态学...

1.8K10
来自专栏贾志刚-OpenCV学堂

如何识别出轮廓准确的长和宽

对于这样 的轮廓分析,标明出来的1和2明显是错误的。但是除了minAreaRect之外,已经没有更解近一步的方法。也尝试首先对轮廓进行凸包处理,再查找外接矩形,...

1663
来自专栏大数据挖掘DT机器学习

【案例】SPSS商业应用系列第3篇:最近邻元素分析模型

应用 IBM SPSS Statistic 的最近邻元素分析模型对汽车厂商预研车型进行市场评估。 某汽车厂商的研发部门提出了多个预研车型的技术指标...

36510
来自专栏一棹烟波

图像添加径向畸变

通常摄像机的镜头都会有镜头畸变,尤其是广角镜头,在做图像处理中往往会通过摄像机标定获取镜头的畸变系数,然后进行畸变校正。而在某些特殊的情况下,你可能会需要往图像...

2296
来自专栏CVer

GitHub:目标检测最全论文集锦

目标检测(Object Detection)可以识别一幅图像中的多个物体,定位不同物体的同时(边界框),贴上相应的类别。简单来说,解决了what和where问题...

3382
来自专栏有趣的Python

TensorFlow应用实战-17-Qlearning实现迷宫小游戏什么是Q-learning

4547
来自专栏计算机视觉与深度学习基础

HDU5033

真蠢,和网络赛的时候我WA掉的思想已经很接近了,被他们又是说这说那的绕进去了,就是一个单调栈,栈中元素的纵坐标严格降低,并且栈中顶部两点之间斜率的绝对值要小于栈...

18310
来自专栏WOLFRAM

用 Wolfram 语言制作圣诞动画

1302
来自专栏奇点大数据

中文作诗机

中文古诗,我们从小到大在中文课本里都学过不少,有些直到现在都能背诵并且郎朗上口,但是如果让你自己做一首中文古诗,对于绝大多数人来说还是不太可能吧?现在有了解决办...

3348

扫码关注云+社区