nodejs处理图片的中间件node-images详解


Posted in NodeJs onMay 08, 2017

Cross-platform image decoder(png/jpeg/gif) and encoder(png/jpeg) for Node.js

node.js轻量级跨平台图像编解码库

var images = require("images");

images("input.jpg")           //Load image from file 
                    //加载图像文件
  .size(400)             //Geometric scaling the image to 400 pixels width
                    //等比缩放图像到400像素宽
  .draw(images("logo.png"), 10, 10)  //Drawn logo at coordinates (10,10)
                    //在(10,10)处绘制Logo
  .save("output.jpg", {        //Save the image to a file,whih quality 50
    quality : 50          //保存图片到文件,图片质量为50
  });

Features 功能特性

  1. Lightweight:no need to install any image processing library.
  2. 轻量级:无需安装任何图像处理库。
  3. Cross-platform: Released a compiled .node file on windows, just download and start.
  4. 跨平台:Windows下发布了编译好的.node文件,下载就能用。
  5. Easy-to-use: Provide jQuery-like chaining API.Simple and reliable!
  6. 方便用:jQuery风格的API,简单可依赖。

Installation 安装

$ npm install images

API 接口

node-images provide jQuery-like Chaining API,You can start the chain like this:

node-images 提供了类似jQuery的链式调用API,您可以这样开始:

/* Load and decode image from file */
/* 从指定文件加载并解码图像 */
images(file)

/* Create a new transparent image */
/* 创建一个指定宽高的透明图像 */
images(width, height)

/* Load and decode image from a buffer */
/* 从Buffer数据中解码图像 */
images(buffer[, start[, end]])

/* Copy from another image */
/* 从另一个图像中复制区域来创建图像 */
images(image[, x, y, width, height])

images(file)

Load and decode image from file从指定文件加载并解码图像

images(width, height)

Create a new transparent image创建一个指定宽高的透明图像

images(buffer[, start[, end]])

Load and decode image from a buffer从Buffer数据中解码图像

images(image[, x, y, width, height])

Copy from another image从另一个图像中复制区域来创建图像

.fill(red, green, blue[, alpha])

eg:images(200, 100).fill(0xff, 0x00, 0x00, 0.5) Fill image with color以指定颜色填充图像

.draw(image, x, y)

Draw image on the current image position( x , y )在当前图像( x , y )上绘制 image 图像

.encode(type[, config])

eg:images("input.png").encode("jpg", {operation:50}) Encode image to buffer, config is image setting.

以指定格式编码当前图像到Buffer,config为图片设置,目前支持设置JPG图像质量

Return buffer

返回填充好的Buffer

Note:The operation will cut off the chain

注意:该操作将会切断调用链

See:.save(file[, type[, config]]) 参考:.save(file[, type[, config]])

.save(file[, type[, config]])

eg:images("input.png").encode("output.jpg", {operation:50}) Encoding and save the current image to a file, if the type is not specified, type well be automatically determined according to the file, config is image setting. eg: { operation:50 }
编码并保存当前图像到 file ,如果type未指定,则根据 file 自动判断文件类型,config为图片设置,目前支持设置JPG图像质量

.size([width[, height]])

Get size of the image or set the size of the image,if the height is not specified, then scaling based on the current width and height获取或者设置图像宽高,如果height未指定,则根据当前宽高等比缩放

.resize(width[, height])

Set the size of the image,if the height is not specified, then scaling based on the current width and height

设置图像宽高,如果height未指定,则根据当前宽高等比缩放, 默认采用 bicubic 算法。

.width([width])

Get width for the image or set width of the image获取或设置图像宽度

.height([height])

Get height for the image or set height of the image获取或设置图像高度

images.setLimit(width, height)

Set the limit size of each image  设置库处理图片的大小限制,设置后对所有新的操作生效(如果超限则抛出异常)

images.setGCThreshold(value)

Set the garbage collection threshold   设置图像处理库自动gc的阈值(当新增内存使用超过该阈值时,执行垃圾回收)

images.getUsedMemory()

Get used memory (in bytes)得到图像处理库占用的内存大小(单位为字节)

images.gc()

Forced call garbage collection 强制调用V8的垃圾回收机制

https://github.com/zhangyuanwei/node-images

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodejs简单实现中英文翻译
May 04 NodeJs
解决nodejs中使用http请求返回值为html时乱码的问题
Feb 18 NodeJs
nodejs搭建本地服务器并访问文件的方法
Mar 03 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
Nodejs监控事件循环异常示例详解
Sep 22 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 #NodeJs
win系统下nodejs环境安装配置
May 04 #NodeJs
Nodejs--post的公式详解
Apr 29 #NodeJs
NodeJs的fs读写删除移动监听
Apr 28 #NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 #NodeJs
NodeJs模拟登陆正方教务
Apr 28 #NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 #NodeJs
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
jquery常用操作小结
2014/07/21 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
js定时器实例分享
2016/12/20 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
Python学习pygal绘制线图代码分享
2017/12/09 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
学生自我鉴定模板
2013/12/30 职场文书
走进敬老院活动总结
2014/07/10 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
维稳工作情况汇报
2014/10/27 职场文书
承诺书范本
2015/01/21 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
nginx 配置缓存
2022/05/11 Servers
Flink 侧流输出源码示例解析
2022/09/23 Servers