I want to play a gif image using GifBitmapDecoder and Int32Animation, but I found some gif is incomplete when they were played.
Here is my gif:
Individual GIF frames might be just portions of an image at any arbitrary X,Y-coordinate.
For properly placing a frame in the image, you will need the X,Y-coordinate of the frame. Read this post about how to get this information: Reading Metadata property of GifBitmapDecoder...why is it null?
Then to get a complete image you must merge the frame with the previous frame(s), until a complete image is being obtained. However, assuming that your real "GIF player" just draws the animation frames one on top of another (instead of putting them side-by-side in a StackPanel), this would happen automagically...