|
Hi. I am currently in the process of refactoring GIFReadWriter to more appropriately read/write GIF files.
# The Issues # Unlike other image formats (which can be read from subclasses of ImageReadWriter), GIFs are not necessarily single images. In fact, these days many GIFs are animated GIFs, meaning they contain multiple "frames" in the form of constituent images with extra metadata.
You will see that the current implementation of GIFReadWriter and AnimatedGIFReadWriter cannot properly read and display animated images.
My solution will do the following: 1) Combine AnimatedGIFReadWriter and GIFReadWriter into one class that simply assumes GIFs can have multiple images (because they can). 2) Create the class AnimatedImageFrame, which encapsulates a Form with extra metadata about how it should be displayed 3) Create AnimatedImageMorph, which knows how to render and display AnimatedImageFrames
== EXTRA == I am also *strongly* considering (ie, have begun) separating out the GIF LZW compression/decompression into their own classes since that part of the procedure is so complex. I know this leads to "class bloat," but right now we've sacrificed the ability to understand what's going on when reading/writing GIFs in the name of having it all in one place.
|
|
|
Priority: 4 – Would be nice
|
|
Status: Working On
|
|
Assigned to: Eric Gade
|
|
Milestone: Pharo7.0
|
Go to Case
|
|