| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

GIF流编码器和解码器:gif-stream

gif-stream是一个用于Node和浏览器的GIF流编码器和解码器。

Decoding 示例

This example uses the concat-frames module to collect the output of the GIF decoder into an array of frame objects.

var GIFDecoder = require('gif-stream/decoder');  var concat = require('concat-frames');    // decode a GIF file to RGB pixels  fs.createReadStream('in.gif')    .pipe(new GIFDecoder)    .pipe(concat(function(frames) {      // frames is an array of frame objects      // each one has a `pixels` property containing      // the raw RGB pixel data for that frame, as      // well as the width, height, etc.    }));

Encoding 示例

You can encode a GIF by writing or piping indexed/quantized data to a GIFEncoder stream. If you write data to it manually, you need to first quantize the pixel data to produce a color palette and a buffer of indexed pixels. You can use the neuquant module to do this.

Alternatively, if you have a stream of RGB data already, you can pipe it first to a neuquant stream, and then to a GIF encoder, which will do the hard work of quantizing and writing indexed data for you.

var GIFEncoder = require('gif-stream/encoder');  var neuquant = require('neuquant');    // encode an animated GIF file by writing pixels to it.  // you need to manually quantize the data to produce a palette and indexed pixels.  var q = neuquant.quantize(pixels);    var enc = new GIFEncoder(width, height, { palette: q.palette });  enc.pipe(fs.createWriteStream('out.gif'));    // write indexed data  enc.end(q.indexed);    // or, pipe data from another RGB stream  // boom: streaming image transcoding!  fs.createReadStream('rgb.png')    .pipe(new PNGDecoder)    .pipe(new neuquant.Stream)    .pipe(new GIFEncoder)    .pipe(fs.createWriteStream('out.gif'));

项目主页:http://www.open-open.com/lib/view/home/1416137994258

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1416137994258.html
图形/图像处理 gif-stream