Giter VIP home page Giter VIP logo

gif-image's Introduction

What it is:
- collection of procedures to manipulate GIFs
- extract still images, metadata, recombine

Status: 
Complete! Could submit to PLaneT, but probably not worth it considering the low expected demand.

Description:

There's plenty of "make animated GIF" apps around, but none that let you split an existing animated GIF up, play around with it and then reassemble it. This could be something vaguely useful and fun.

This was originally intended to be a moderately challenging project for getting to grips with Objective-C and an image format. But after a few hours work in Obj-C, I realised that not knowing the GIF spec was the bigger problem, so I decided to tackle this in Racket first. Racket already includes good procedures for creating GIFs (the file/gif module) but none for taking them apart. So this is something new.

Racket code files:

<x>-test :- unit tests for <x>
bits-and-bytes :- simple conversion
lookit :- print all bytes for debugging
info.rkt :- links to manual.html
gif-basics :- predicates, size-calculators and other utilities
gif-decompose :- exposed API

Other files:
images/ :- sample images for testing
spec-gif89a.txt :- Graphics Interchange Format specification
comparison.xlsx :- spreadsheet comparing input and output byte-for-byte
manual.html :- Documentation for this Racket module
manual.scrbl :- Scribble code for manual.html
*.css, *.js :- Supporting code for manual.html

[KEYWORDS: racket, functional, scribble, gif, images]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.