al_create_sub_bitmap
ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent,
int x, int y, int w, int h)
Introduced in 5.0.0
Creates a sub-bitmap of the parent, at the specified coordinates and of the specified size. A sub-bitmap is a bitmap that shares drawing memory with a pre-existing (parent) bitmap, but possibly with a different size and clipping settings.
The sub-bitmap may originate off or extend past the parent bitmap.
See the discussion in al_get_backbuffer about using sub-bitmaps of the backbuffer.
The parent bitmap's clipping rectangles are ignored.
If a sub-bitmap was not or cannot be created then NULL is returned.
Note that destroying parents of sub-bitmaps will not destroy the sub-bitmaps; instead the sub-bitmaps become invalid and should no longer be used.
See also: al_create_bitmap
Examples: ex_clip, ex_logo, ex_subbitmap, ex_transform
Most helpful discussions:
- [A5] Drawing a sprite to a display (1)
- KrampusHack 2016
- Creating sub-bitmap of locked bitmap
- Ludum Dare thread.
- [A5] Bitmap memory leaks (Release video texture failed)
- Problem with shaders (bitmap not drawn at all).
- Bug (or not) in Allegro
- Problem with ALLEGRO_FLIP_HORIZONTAL and spritesheet
- al_create_sub_bitmap not working for one bitmap
- Putting subbitmaps in vectors
Other recent discussions:
- Allegro5 Save bitmap to byte array
- [A5] how to use a bitmap as a pattern to fill a rectangular area?
- Trouble drawing scrolling background
- Only the background image will not draw??!
- Speeding up drawing from a tile atlas.
- Which is a faster way to render tiles?
- How to structure the program for a Sleep() or al_rest()
- [A5]Tilemap scrolling [Revisited]
- [A5]Tilemap scrolling
- al_create_sub_bitmap and tilemap