ImageFrames¶
Inherits: Resource < Reference < Object
A container for Image frames.
Description¶
A class used to load and arrange a sequence of image frames. Allows to load animated image formats externally (only GIF is supported currently). Each frame can specify a delay for animated images. The data can then be used to generate an AnimatedTexture or a SpriteFrames via script.
Methods¶
| void | add_frame ( Image image, float delay=-1 ) |
| void | clear ( ) |
| Rect2 | get_bounding_rect ( ) const |
| int | get_frame_count ( ) const |
| float | get_frame_delay ( int index ) const |
| Image | get_frame_image ( int index ) const |
| Error | load ( String path, int max_frames=0 ) |
| Error | load_gif_from_buffer ( PoolByteArray data, int max_frames=0 ) |
| void | remove_frame ( int index ) |
| Error | save_gif ( String filepath, int color_count=256 ) |
| void | set_frame_delay ( int index, float delay ) |
| void | set_frame_image ( int index, Image image ) |
Method Descriptions¶
Adds a new frame.
- void clear ( )
Removes all frames.
- Rect2 get_bounding_rect ( ) const
Returns the bounding rectangle which encloses all added images starting from position Vector2(0, 0).
- int get_frame_count ( ) const
Returns the total number of frames.
Returns the delay of frame idx.
Returns the Image of frame idx.
Loads the data from a file located at path. Recognizes the following file extensions: gif. The max_frames parameter limits the number of frames which can be loaded.
- Error load_gif_from_buffer ( PoolByteArray data, int max_frames=0 )
Loads the data from a PoolByteArray GIF buffer. The max_frames parameter limits the number of frames which can be loaded.
- void remove_frame ( int index )
Removes the frame idx.
Saves a GIF file using frames added with add_frame. If there are multiple images, creates an animated GIF, taking into account individual frame delays. If there’s only one image, GIF is written as a static image.
The color_count parameter specifies the number of colors in GIF color map. The number of colors are rounded to nearest power of two, and the maximum number of colors is 256.
Frames can have different sizes. Dimensions of the first frame is taken as the base canvas size.
Note that GIF animation timing is measured in hundredths of a second, and delay values below 0.02 may fallback to 1.0 second when rendered on screen, which depends on application displaying such a GIF.
This method depends on ImageIndexed used to generate image palette required to write GIF files. By default, indexed images will be created from all images in ImageFrames. If ImageFrames already contains ImageIndexed, then you must ensure that ImageIndexed has color palette already generated with ImageIndexed.generate_palette prior to calling this method.
Saving animated image as transparent is also supported, given all frames are provided in Image.FORMAT_RGBA8 format, but note that transparency is not consistently supported across GIF decoders.
Sets the delay in seconds of frame idx.
Sets the Image of frame idx.