文档章节

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

c
 caiyezi
发布于 2016/11/08 20:24
字数 467
阅读 11
收藏 0
点赞 0
评论 0
/**
 * 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());
};

 

本文转载自:http://www.cnblogs.com/vipzhou/p/4828362.html

共有 人打赏支持
c
粉丝 1
博文 108
码字总数 0
作品 0
西安
程序员
Node.js 服务端图片处理利器——sharp 进阶操作指南

Node.js 服务端图片处理利器——sharp 进阶操作指南 sharp 是 Node.js 平台上相当热门的一个图像处理库,其实际上是基于 C 语言编写 的 libvips 库封装而来,因此高性能也成了 sharp 的一大卖...

幸运券发放
05/29
0
0
高性能图片服务器--NImg

NImg 是基于ZImg的nodejs实现。 NImg是基于node.js开发的高性能图片服务器,提供图片上传,实时裁剪。图片处理等接口调用。

freeman983
2013/12/07
5.7K
0
文章创作必备的超实用图片处理神器们

前言 作为一个博主或者媒体工作者、公众号编辑、网站站长、平台作者等内容创作者,写文章时经常要和图片素材打交道。 为了使文章具有更好的阅读体验和可读性,让读者不仅看得懂还要看得爽,经...

己立
2017/12/14
0
0
Node.js 服务端图片处理利器——Sharp 进阶操作指南

Sharp 是 Node.js 平台上相当热门的一个图像处理库,其实际上是基于 C 语言编写 的 libvips 库封装而来,因此高性能也成了 Sharp 的一大卖点。Sharp 可以方便地实现常见的图片编辑操作,如裁...

逆葵
05/28
0
0
PhalApi-Image -- 图像处理

PhalApi-Image -- 图像处理 前言 因为在工作中遇到了需要按照尺寸压缩上传图片,进过了一番寻找发现ThinkPhP图形处理能够满足大部分需求,所以特地制作成拓展的方式提供出来希望,能给给为小伙伴...

喵了_个咪
2016/01/05
142
0
Monk.Node v2.2.7 发布,Nodejs MVC 框架

Monk.Node v2.2.7 发布了,Monk.Node 是基于 Express.js(4.x) + Sequelize.js(3.x) 的 Nodejs MVC 框架。 更新日志: - [新增] locals文件夹,定义全局数据注入,类似ASP.NET MVC的ViewData数...

百小僧
2017/01/13
1K
7
实例:使用puppeteer headless方式抓取JS网页

google chrome团队出品的puppeteer 是依赖nodejs和chromium的自动化测试库,它的最大优点就是可以处理网页中的动态内容,如JavaScript,能够更好的模拟用户。 有些网站的反爬虫手段是将部分内...

caiyongji
05/09
0
0
前端周刊第58期:送你 3 道面试题

破解前端面试系列文章本周出到第 3 篇:如何搞定纸上编程环节,早些时候发布了闭包篇、DOM 篇,感兴趣的同学可以看看,对面试官和求职者都应该有些参考价值,每篇文章下面的讨论也是值得阅读...

王仕军
2017/06/03
0
0
图片自动缩放--autoCropImage

将图片自动缩放成指定大小,减少图片体积,从而加快下载速度,降低下载时间和成本。 使用说明 URI 模式 http://localhost/images/pic.jpg_50x100.jpg http://localhost/images/pic.jpg_50x10...

MingfunWong
2014/02/27
1K
0
函数计算-触发OSS来处理图片加水印和大小裁剪

摘要: 在Web应用中,有很多在类型,其中针对有一种是针对电商、图片处理网站中当客户上传到OSS的图片进行大小裁剪或者批量加上防盗水印,通常的做法是搭建一个在线服务器并部署WEB应用来进行...

帥的沒亽愛
2017/06/22
106
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

fiddle 4 初始化

下载 配置fiddle 4 如果证书导出失败,执行下面脚本 D:\programs\Fiddler>makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.c......

柯里昂
4分钟前
0
0
rabbitmq学习记录(六)交换机Exchange-direct

实现功能:一条消息发送给多个消费者 交换机模式:direct 相比于之前的fanout模式,可以进一步的筛选获取消息的消费者。 fanout模式下,只要消费者监听的队列,已经与接收生产者消息的交换机...

人觉非常君
21分钟前
0
0
Java 之 枚举

Java 中声明的枚举类,均是 java.lang.Enum 类的子类,Enun 类中的常用方法有: name() 返回枚举对象名称 ordinal() 返回枚举对象下标 valueOf(Class enumType, String name) 转换枚举对象 ...

绝世武神
29分钟前
0
0
使用爬虫实现代理IP池之放弃篇

啥叫代理IP以及代理IP池 概念上的东西网上搜索一下就好了,这里简单科普一下(大部分会读这篇文章的人,基本是不需要我来科普的),白话说就是能联网并提供代理访问互联网的服务器,它提供的...

一别丶经年
45分钟前
0
0
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 Sqoop Hive HBase 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用复杂SQL 调整Hive数据类型 不断更新 ...

hblt-j
今天
0
0
Dart 服务端开发 文件上传

clent端使用angular组件 upload_component.html form id="myForm" method="POST" enctype="multipart/form-data"> <input type="file" name="fileData"> <!-- file field --></form>......

scooplol
今天
0
0
apache和tomcat同时开启,乱码问题

tomcat和apache同时开启,会走apache的转发,执行的是AJP/1.3协议。所以在tomcat的配置文件server中, <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" useBodyEncodingForU......

Kefy
今天
0
0
使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录 和ssh常用命令

ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利 第一步...

xtof
今天
0
0
orcale 查询表结构

SELECT t.table_name, t.colUMN_NAME, t.DATA_TYPE || '(' || t.DATA_LENGTH || ')', t1.COMMENTS FROM User_Tab_Cols t, User_Col_Comments t1WHERE t.table_name......

wertwang
今天
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部