登录
注册
node.js 学习社区
【原创分享】Nodejs跨平台轻量级图片编解码库【增加Jpeg质量调整】

许修睿

2014-12-06 00:49

Fork me on GitHub

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 功能特性

  • 轻量级:无需安装任何图像处理库。
  • 跨平台:Windows下发布了编译好的.node文件,下载就能用。
  • 方便用:jQuery风格的API,简单可依赖。

Installation 安装

`$ npm install images`

API 接口

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

/* 从指定文件加载并解码图像 */
images(file)

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

/* 从Buffer数据中解码图像 */
images(buffer[, start[, end]])

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

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

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

.draw(image, x, y)

在当前图像( x , y )上绘制 image 图像

.encode(type[, config])

以指定格式编码当前图像到Buffer,config为图片设置,目前支持设置JPG图像质量
eg:images("input.png").encode("jpg", {operation:50})
返回填充好的Buffer
注意:该操作将会切断调用链
参考:.save(file[, type[, config]])

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

编码并保存当前图像到 file ,如果type未指定,则根据 file 自动判断文件类型,config为图片设置,目前支持设置JPG图像质量
eg:images("input.png").save("output.jpg", {operation:50})

.size([width[, height]])

获取或者设置图像宽高,如果height未指定,则根据当前宽高等比缩放

.width([width])

获取或设置图像宽度

.height([height])

获取或设置图像高度

images.setLimit(width, height)

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

原文引自:http://cnodejs.org/topic/512b9fecdf9e9fcc580eb248

回复 · 0

发表回复

你可以在回复中 @ 其他人