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 条评论
登录 后参与评论

相关文章

来自专栏AI2ML人工智能to机器学习

决策树会有哪些特性?

决策树(Decision Tree)是机器学习中最常见的算法, 因为决策树的结果简单,容易理解, 因此应用超级广泛, 但是机器学习的专家们在设计决策树的时候会考...

812
来自专栏人工智能LeadAI

TF使用例子-LSTM实现序列标注

本文主要改写了一下"Sequence Tagging with Tensorflow"(https://link.jianshu.com?t=https://g...

6308
来自专栏鸿的学习笔记

写给开发者的机器学习指南(十三)

在我们实际使用支持向量机(SVM)之前,我先简要介绍一下SVM是什么。 基本SVM是一个二元分类器,它通过选取代表数据点之间最大间隔的超平面将数据集分成2部分。...

411
来自专栏人工智能LeadAI

决策树会有哪些特性?

决策树(Decision Tree)是机器学习中最常见的算法, 因为决策树的结果简单,容易理解, 因此应用超级广泛, 但是机器学习的专家们在设计决策树的时候会考...

2887
来自专栏落影的专栏

iOS开发-OpenGL ES入门教程2

教程 OpenGLES入门教程1-Tutorial01-GLKit 这次的是shader编译链接、glsl入门和简单图形变换。 OpenGL ES系列教程在这...

2718
来自专栏一棹烟波

直方图实现快速中值滤波

中值滤波能够有效去除图像中的异常点,具有去除图像噪声的作用。传统中值滤波的算法一般都是在图像中建立窗口,然后对窗口内的所有像素值进行排序,选择排序后的中间值作为...

2059
来自专栏AIUAI

Caffe2 - (三十) Detectron 之 modeling - 模型_heads

3917
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

图像处理中任意核卷积(matlab中conv2函数)的快速实现。

     卷积其实是图像处理中最基本的操作,我们常见的一些算法比如:均值模糊、高斯模糊、锐化、Sobel、拉普拉斯、prewitt边缘检测等等一些和领域相关的算...

3668
来自专栏小鹏的专栏

tf24: GANs—生成明星脸

GANs是Generative Adversarial Networks的简写,中文翻译为生成对抗网络,它最早出现在2014年Goodfellow发表的论文中...

2639
来自专栏Python私房菜

用Python写算法 | 蓄水池算法实现随机抽样

现在有一组数,不知道这组数的总量有多少,请描述一种算法能够在这组数据中随机抽取k个数,使得每个数被取出来的概率相等。

631

扫码关注云+社区