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

 更新时间:2017年05月08日 11:46:47   作者:银狐被占用  
这篇文章主要介绍了nodejs处理图片的中间件node-images详解,非常具有实用价值,需要的朋友可以参考下

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

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

相关文章

  • 使用Express+Node.js对mysql进行增改查操作 

    使用Express+Node.js对mysql进行增改查操作 

    这篇文章主要介绍了使用Express+Node.js对mysql进行增改查操作,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • nodejs 十六进制字符串型数据与btye型数据相互转换

    nodejs 十六进制字符串型数据与btye型数据相互转换

    这篇文章主要介绍了nodejs 十六进制字符串型数据与btye型数据相互转换,需要的朋友可以参考下
    2018-07-07
  • Node.js添加API限流与日志优化详解

    Node.js添加API限流与日志优化详解

    这篇文章主要介绍了Node.js添加API限流与日志优化的相关资料,以增强API的稳定性和可维护性,API限流功能可以防止恶意请求和DDoS攻击,优化后的日志记录系统则可以帮助我们更好地跟踪和调试应用,快速定位问题,需要的朋友可以参考下
    2024-11-11
  • linux 后台运行node服务指令方法

    linux 后台运行node服务指令方法

    今天小编就为大家分享一篇linux 后台运行node服务指令方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 基于Node.js的WebSocket通信实现

    基于Node.js的WebSocket通信实现

    这篇文章主要介绍了基于Node.js的WebSocket通信实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • node.js 利用流实现读写同步,边读边写的方法

    node.js 利用流实现读写同步,边读边写的方法

    下面小编就为大家带来一篇node.js 利用流实现读写同步,边读边写的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • node.js多个异步过程中判断执行是否完成的解决方案

    node.js多个异步过程中判断执行是否完成的解决方案

    这篇文章主要给大家介绍了关于node.js多个异步过程中判断执行是否完成的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-12-12
  • NodeJs Express框架实现服务器接口详解

    NodeJs Express框架实现服务器接口详解

    最近学习了基于前后端分离的开发模式,我前端使用Vue框架,后端使用nodejs开发API接口,下面这篇文章主要给大家介绍了关于nodejs使用Express框架写后端接口的相关资料,需要的朋友可以参考下
    2022-08-08
  • json对象及数组键值的深度大小写转换问题详解

    json对象及数组键值的深度大小写转换问题详解

    这篇文章主要给大家介绍了关于json对象及数组键值的深度大小写转换问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 14款NodeJS Web框架推荐

    14款NodeJS Web框架推荐

    这篇文章主要介绍了14款NodeJS Web框架推荐,其中大多数框架都是基于node.js的Express实现,需要的朋友可以参考下
    2014-07-07

最新评论