ata4 / gifiddle Goto Github PK
View Code? Open in Web Editor NEWA JavaScript/HTML5 GIF viewer and analyzer
License: MIT License
A JavaScript/HTML5 GIF viewer and analyzer
License: MIT License
Gifs support non-square pixel aspect ratios. https://www.w3.org/Graphics/GIF/spec-gif89a.txt
See the Logical Screen Descriptor section:
18. Logical Screen Descriptor.
a. Description. The Logical Screen Descriptor contains the parameters
necessary to define the area of the display device within which the
images will be rendered. The coordinates in this block are given with
respect to the top-left corner of the virtual screen; they do not
necessarily refer to absolute coordinates on the display device. This
implies that they could refer to window coordinates in a window-based
environment or printer coordinates when a printer is used.
This block is REQUIRED; exactly one Logical Screen Descriptor must be
present per Data Stream.
b. Required Version. Not applicable. This block is not subject to a
version number. This block must appear immediately after the Header.
c. Syntax.
7 6 5 4 3 2 1 0 Field Name Type
+---------------+
0 | | Logical Screen Width Unsigned
+- -+
1 | |
+---------------+
2 | | Logical Screen Height Unsigned
+- -+
3 | |
+---------------+
4 | | | | | <Packed Fields> See below
+---------------+
5 | | Background Color Index Byte
+---------------+
6 | | Pixel Aspect Ratio Byte
+---------------+
viii) Pixel Aspect Ratio - Factor used to compute an approximation
of the aspect ratio of the pixel in the original image. If the
value of the field is not 0, this approximation of the aspect ratio
is computed based on the formula:
Aspect Ratio = (Pixel Aspect Ratio + 15) / 64
The Pixel Aspect Ratio is defined to be the quotient of the pixel's
width over its height. The value range in this field allows
specification of the widest pixel of 4:1 to the tallest pixel of
1:4 in increments of 1/64th.
Values : 0 - No aspect ratio information is given.
1..255 - Value used in the computation.
Most gifs nowadays have an aspect ratio of 0:0 which just means to use the host pixel size, but that isn't the case with all gifs.
See: http://frs.badcoffee.info/PAR_AcidTest/ for examples.
No modern browser supports this (16 year old bug from Mozilla here: https://bugzilla.mozilla.org/show_bug.cgi?id=333377) so it would be another cool feature to add.
Note that it does seem to understand that the pixel aspect ratio is 2, it just won't render it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.