Manuscript (Case [Issue]22137) Graphics - GIFReadWriter Refactoring and Animated Images

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Manuscript (Case [Issue]22137) Graphics - GIFReadWriter Refactoring and Animated Images

Pharo Issue Tracker
Manuscript Notification
Eric Gade opened Case 22137: GIFReadWriter Refactoring and Animated Images and assigned it to Eric Gade:
Enhancement in Project:  Graphics: 1. Pharo Image  •  You are subscribed to this case
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 Priority: 4 – Would be nice Status Status: Working On
Assigned To Assigned to: Eric Gade Milestone Milestone: Pharo7.0

Go to Case
No longer need updates? Unsubscribe from this case.

Don't want Manuscript notifications anymore? Update your preferences.


Pharo-bugtracker mailing list
[hidden email]