Code Monkey home page Code Monkey logo

apng.net's Introduction

APNG.NET

A fully-managed APNG Parser

Introduction

I've been searching for days looking for a simple, easy-to-use animation controller for my game engine until I found this article. Then I noticed I could use APNG to bundle multiply image into one single file and describe the animation process internally (no coding needed). In APNG format, each frame have an fcTL chunk (frame control chunk), which contains many useful information such as frame_height; x_offset and delay_time. So we can set all these up when we build an APNG and copy it directly to game folder - no any coding needed.

PNG and APNG specification support status

  • For simple PNG, All chunks but IHDR, IDAT and IEND are unsupported, and will be ignored during the parsing.
  • For APNG, the library can only parse IHDR, acTL, fcTL, IDAT, fdAT and IEND chunks.
  • Multiply frame sizes are supported. This means you can reduce the file size by using Differential Frames. (use APNG Anime Maker)
  • All DISPOSE_OP and BLEND_OP are supported.

What's next

  • Differential frames support in LibAPNG.XNA.APNGPipelineExtension.

About the code

This repository contains 5 projects:

Basic component:

  • APNG Parser

An managed DLL which handle parsing APNG image file. This library is backward-compatible: It means you can use this library to read an simple PNG image, with no error produced.

  • APNG Test Extractor

A test application which can extract each frame of an APNG to standalone PNG files.

Component for Microsoft XNA:

  • APNG Wrapper for XNA

A simple game which use an APNG as animation (NOT USING CONTENT PIPELINE).

  • Content Pipeline for APNG Images

Compile .apng file into .xnb assets, which can significantly reduce the load time (We move those costs from running to compiling).

  • Test Game that Use Content Pipeline for Loading APNG Images

As titled.

To compile this project, you must have these components installed:

  • Visual Studio 2013.
  • Microsoft XNA Game Studio 4.0 or Windows Phone SDK 7.1

Useful links

apng.net's People

Contributors

xupefei avatar

Watchers

James Cloos avatar

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.