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中转换URL字符串与查询字符串详解
Nov 26 NodeJs
nodejs中简单实现Javascript Promise机制的实例
Dec 06 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
浅谈NodeJS中require路径问题
May 07 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
Nodejs--post的公式详解
Apr 29 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
nodejs制作小爬虫功能示例
Feb 24 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 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
php在线生成ico文件的代码
2007/10/09 PHP
CURL状态码列表(详细)
2013/06/27 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
简单的Python的curses库使用教程
2015/04/11 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Windows下安装Scrapy
2018/10/17 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
物业管理工作方案
2014/05/10 职场文书
单位承诺书格式
2014/05/21 职场文书
求职简历自荐信
2014/06/18 职场文书
领导干部作风建设总结
2014/10/23 职场文书
学校教学工作总结2015
2015/05/19 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
vue前端工程的搭建
2021/03/31 Vue.js