I'm trying to programatically create animated images. It's relatively
easy with RMagick, but the animated GIFs are huge. Is there a way to
convert animated GIFs to SWF in Rails (and shrink them in the
process), or is there any way to create SWFs given a bunch of frames?
GIF is already a heavily-compressed (RLE) format. You can optimize the compression by flattening the color palette, using fewer colors and no gradient fades.
But how large (pixels) are the resulting GIF images? If you're just animating between static frames, there's nothing magical about SWF that will shrink the result. The file size savings come when you create the image out of vector illustrations (pure abstract math) rather than a grid of pixels.
So there's no magic bullet except making the image smaller that will give you file-size savings if all you're doing is switching between static frames.