![images logo](https://raw.github.com/zhangyuanwei/node-images/master/demo/logo.png) =========== Cross-platform image decoder(png/jpeg/gif) and encoder(png/jpeg) for Node.js Node.js轻量级跨平台图像编解码库 ``` javascript 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, with the quality of 50 quality : 50 //保存图片到文件,图片质量为50 }); ``` ## Support 支持情况 if node >= 10.x, please install images@latest | Platform | Architecture | Node Version | |:------|:-------------|:------------| | Windows | x64 |8, 9, 10, 11, 12| | OSX | X64 | 8, 9, 10, 11, 12| | Linux* | x64 |8, 9, 10, 11, 12| - The 32-bit system is not supported for the time being. if node <= 9.x, please install images@3.1.1 | Platform | Architecture | Node Version | |:------|:-------------|:------------| | Windows | x86 & x64 | 0.9.11, 0.10, 0.12, 1, 2, 3, 4, 5, 6, 8, 10| | OSX | X64| 0.9.11, 0.10, 0.12, 1, 2, 3, 4, 5, 6, 8, 9, 10| | Linux* | x86 & x64 | 0.9.11, 0.10, 0.12, 1, 2, 3, 4, 5, 6, 8, 10| ## Features 功能特性 * Lightweight: no need to install any image processing library. * 轻量级:无需安装任何图像处理库。 * Cross-platform: Released a compiled .node file on windows, just download and start. * 跨平台:Windows下发布了编译好的.node文件,下载就能用。 * Easy-to-use: Provide jQuery-like chaining API. Simple and reliable! * 方便用: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,您可以这样开始: ```javascript /* 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 garbage collection 强制调用V8的垃圾回收机制