gifencoder - Server side animated gif generation for node.js

  •        90

NB: The chunks that get emitted by your read stream must either by a 1-dimensional bitmap of RGBA data (either an array or Buffer), or a canvas 2D context. Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

https://github.com/eugeneware/gifencoder

Dependencies:

canvas : ^1.6.5

Tags
Implementation
License
Platform

   




Related Projects

Giraffe - Encode animated GIF files on the iPhone

  •    Objective-C

Giraffe is a legacy name for a GIF encoder that I wrote long ago. Now, the GIF encoding library used in this project is ANGif, a much better, more advanced GIF encoder. The soul purpose of this repository is to provide an example of how one might use ANGif in an iOS project. Someone with the intention of using ANGif in their project should have a look at both the UIImagePixelSource.m and ExportViewController.m files. These are what use ANGif in conjunction with ANImageBitmapRep to export GIF images on the iPhone. ANGif itself does not require ANImageBitmapRep to work, but my example does require it.

ImageMagick

  •    C++

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

giflossy - Lossy GIF compressor (please report bugs/PRs to the gifsicle project)

  •    C

This is a fork of Gifsicle with lossy compression option. Gifsicle manipulates GIF image files. Depending on command line options, it can merge several GIFs into a GIF animation; explode an animation into its component frames; change individual frames in an animation; turn interlacing on and off; add transparency; add delays, disposals, and looping to animations; add and remove comments; flip and rotate; optimize animations for space; change images' colormaps; and other things.

jsgif - Save a HTML5 Canvas to GIF and Animations. A port of as3gif GIFPlayer to JS

  •    Javascript

Since web pages can usually natively play GIFs fine, it's only a port of the GIFEncoder portions of the library. But there are some differences so I'll cover it here anyway.

gifanimateddrawable - Use an animated GIF as an Android Drawable

  •    Java

Animated GIFs are a simple way to make animations and are supported on Android using the Movie class: unfortunately the Movie class isn't quite as easy to use in many places as one might like. GifAnimationDrawable makes it trivial to use an animated gif as a standard Android Drawable, for backgrounds on buttons or views or as the main image in an ImageView. Solutions (such as this) require build-time processing, which isn't usable with downloaded images. Enter http://droid-blog.net/2011/10/15/tutorial-how-to-play-animated-gifs-in-android-%E2%80%93-part-2/: this provides the key bit, the GifDecoder class that pulls out the individual frames. All that was missing was the final step, wrapping this in an AnimationDrawable instance.


node-canvas - Node canvas is a Cairo backed Canvas implementation for NodeJS.

  •    C++

Alpha versions of 2.0 can be installed using npm install canvas@next.node-canvas is a Cairo backed Canvas implementation for NodeJS.

gifsicle - Create, manipulate, and optimize GIF images and animations

  •    C

Gifsicle manipulates GIF image files. Depending on command line options, it can merge several GIFs into a GIF animation; explode an animation into its component frames; change individual frames in an animation; turn interlacing on and off; add transparency; add delays, disposals, and looping to animations; add and remove comments; flip and rotate; optimize animations for space; change images' colormaps; and other things. Gifview, a companion program, displays GIF images and animations on an X display. It can display multi-frame GIFs either as slideshows, displaying one frame at a time, or as real-time animations.

jsgif - Save a HTML5 Canvas to GIF and Animations. A port of as3gif GIFPlayer to JS

  •    Javascript

Save a HTML5 Canvas to GIF and Animations. A port of as3gif GIFPlayer to JS

ccapture.js - A library to capture canvas-based animations at a fixed framerate

  •    Javascript

CCapture.js is a library to help capturing animations created with HTML5 canvas at a fixed framerate. An example is probably worth a lot of words: CCapture.js with Game of Life 3D.

konva - Konva

  •    Javascript

Konva is an HTML5 Canvas JavaScript framework that enables high performance animations, transitions, node nesting, layering, filtering, caching, event handling for desktop and mobile applications, and much more. You can draw things onto the stage, add event listeners to them, move them, scale them, and rotate them independently from other shapes to support high performance animations, even if your application uses thousands of shapes. Served hot with a side of awesomeness.

qrious - Pure JavaScript library for QR code generation using canvas

  •    Javascript

QRious is a pure JavaScript library for generating QR codes using HTML5 canvas. Check out node-qrious if you want to install it for use within Node.js.

palette - Node.js image color palette extraction with node-canvas

  •    Javascript

Note: Palette's dependency, node-canvas, requires that Cairo be installed. Please see the installation guide for node-canvas for further details.Palette's public API consists of a single function, the one returned by require(). This function accepts the canvas you wish to compute a color palette for, and an optional number of samples defaulting to 5.

leaflet-image - leaflet maps to images

  •    Javascript

Export images out of Leaflet maps without a server component, by using Canvas and CORS.For Leaflet >= 1.0.0: You must set renderer: L.canvas() for any layer that you want included in the generated image. You can also set this by setting preferCanvas: true in your map's options.

gifski-app - Convert videos to high-quality GIFs on your Mac

  •    Swift

This is a macOS app for the gifski encoder, which converts videos to GIF animations using pngquant's fancy features for efficient cross-frame palettes and temporal dithering. It produces animated GIFs that use thousands of colors per frame. Requires macOS 10.13 or later.

jpg-glitch - glitch images with jpg encoding

  •    Javascript

this is an experiment for the web browser. it corrupts jpg images so that they appear "glitched". this experiment is very much based on the smack my glitch up js script.

Turing-Drawings - Randomly generated Turing machines draw images and animations on a 2D canvas.

  •    Javascript

Randomly generated Turing machines draw images and animations on a 2D canvas. A simple JavaScript+HTML5 demo. This project is distributed under a modified BSD license. I've also written a blog post briefly describing this project.

context-blender - Photoshop-style blend modes for HTML Canvas Contexts

  •    Javascript

Adobe® Photoshop® has a variety of helpful blend modes for compositing images from multiple RGBA layers. This small library provides the same functionality for HTML Canvas Contexts, with the goal of producing the same results as Photoshop. This will also install node-canvas, which requires a working Cairo install. See https://github.com/Automattic/node-canvas#installation for more details.

Peek - Simple animated GIF screen recorder with an easy to use interface

  •    Vala

Peek makes it easy to create short screencasts of a screen area. It was built for the specific use case of recording screen areas, e.g. for easily showing UI features of your own apps or for showing a bug in bug reports. With Peek, you simply place the Peek window over the area you want to record and press "Record". Peek is optimized for generating animated GIFs, but you can also directly record to WebM or MP4 if you prefer.

APNGKit - High performance and delightful way to play with APNG format in iOS.

  •    Swift

APNGKit is a high performance framework for loading and displaying APNG images in iOS and macOS. It's built on top of a modified version of libpng with APNG support and written in Swift. High-level abstractions of Cocoa Touch is used for a delightful API. Since be that, you will feel at home and joy when using APNGKit to play with images in APNG format. The Animated Portable Network Graphics (APNG) is a file format extending the well-known PNG format. It allows for animated PNG files that work similarly to animated GIF files, while supporting 24-bit images and 8-bit transparency not available for GIFs. This means much better quality of animation. At the same time, the file size is comparable to or even less than, if created carefully, GIFs.

lilliput - Resize images and animated GIFs in Go

  •    C++

lilliput resizes images in Go. Lilliput relies on mature, high-performance C libraries to do most of the work of decompressing, resizing and compressing images. It aims to do as little memory allocation as possible and especially not to create garbage in Go. As a result, it is suitable for very high throughput image resizing services.