gifencoder - Server side animated gif generation for node.js

  •        1148

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.

canvas - Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.

  •    Go

Canvas is a common vector drawing target that can output SVG, PDF, EPS, raster images (PNG, JPG, GIF, ...), HTML Canvas through WASM, OpenGL, and Gio. It has a wide range of path manipulation functionality such as flattening, stroking and dashing implemented. Additionally, it has a text formatter and embeds and subsets fonts (TTF, OTF, WOFF, WOFF2, or EOT) or converts them to outlines. It can be considered a Cairo or node-canvas alternative in Go. See the example below in Figure 1 for an overview of the functionality. Figure 1: top-left you can see text being fitted into a box, justified using Donald Knuth's linea breaking algorithm to stretch the spaces between words to fill the whole width. You can observe a variety of styles and text decorations applied, as well as support for LTR/RTL mixing and complex scripts. In the bottom-right the word "stroke" is being stroked and drawn as a path. Top-right we see a LaTeX formula that has been converted to a path. Left of that we see an ellipse showcasing precise dashing, notably the length of e.g. the short dash is equal wherever it is on the curve. Note that the dashes themselves are elliptical arcs as well (thus exactly precise even if magnified greatly). To the right we see a closed polygon of four points being smoothed by cubic Béziers that are smooth along the whole path, and the blue line on the left shows a smoothed open path. On the bottom you can see a rotated rasterized image. The result is equivalent for all renderers (PNG, PDF, SVG, etc.).

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.

Gifski - 🌈 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 and up to 50 FPS (useful for showing off design work on Dribbble). You can also produce smaller lower quality GIFs when needed with the “Quality” slider, thanks to gifsicle.

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.

PixelCraft - A Pixel Art Editor

  •    Javascript

A pixel Art & Animation Creation Tool Built using HTML5 Canvas. It is a Progressive Web App (PWA) with offline compatibility. It is mobile-friendly and is very easy to use. You can choose Any Dimensions for your Canvas, 16 X 16 is the default dimension. Dimensions below 128 X 128 are preferable for smooth operation and GIF creation.

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.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.