图片处理

此工具可以对图片进行缩放、加水印等操作

  • 提供: 林晓州
  • 版本: V1.1
  • 发布: 2017.07.03, 图片上传缩放功能, V1.0

图片缩放



后台使用的中间件


Cross-platform image decoder(png/jpeg/gif) and encoder(png/jpeg) for Node.js
Node.js轻量级跨平台图像编解码库

// https://github.com/zhangyuanwei/node-images
var images = require("images");
images("input.jpg")                      // 加载图像文件
    .size(400)                           // 等比缩放图像到400像素宽
    .draw(images("logo.png"), 10, 10)     // 在(10,10)处绘制Logo
    .save("output.jpg", {                 // 保存图片到文件,图片质量为50
        quality : 50                    
    });

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 接口

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的垃圾回收机制





制作: 林晓州 | 网站: OneLib智库