bmap_create(STRING* name): BMAP*
bmap_createpart(STRING* name, var x, var y, var width, var height): BMAP* A8.11
bmap_createblack(var width, var height,
var format): BMAP*
Creates a bmap at runtime. bmap_create loads the content from an image file or from a cutout of an image , bmap_createblack creates a black bmap with given dimensions that can later be filled with a color. Objects created this way are automatically deleted on closing the engine, or by calling the ptr_remove function.
name - name (STRING* or char*) of an image file that defines width, height, format, and content of the bitmap; optionally followed by cutout coordinates.
x - horizontal offset from the image upper left corner of in pixels.
y - vertical offset from the image upper left corner of in pixels.
width - width of the bitmap in pixels.
height - height of the bitmap in pixels.
bitmap format (uncompressed formats only; see bmap_lock) or number of bits per pixel (8, 16, 24, 32).
BMAP* pointer, or NULL if it could not be created.
Bitmap manipulation functions only work after the first frame on because the video device must be opened.
Supported image file formats are bmp, pcx, and tga.
bmap_create also supports dds, png, and jpg.
Please see file formats for suggestions about which format is suited for which purpose.
Alternatively to bmap_createpart, a cutout of a bmp, pcx, or tga image file can also be defined by adding the coordinates separated by '#' to the file name,
f.i. bmap_create("panel.tga#360#10#240#50"); creates a bitmap from a part of the image at xy position 360,10 with the size 240x50.
// splits an image file horizontally and vertically into several parts,
// and stores them as separate files
void bmap_split(STRING* name,var splits_x,var splits_y)
BMAP* bSource = bmap_create(name); // load the bitmap
var dx = bmap_width(bSource)/splits_x; // get width and heigt of a split
var dy = bmap_height(bSource)/splits_y;
var format = bmap_format(bSource);
BMAP* bDest = bmap_createblack(dx,dy,format); // create the split bitmap
for(j=0; j<splits_y; j++)
for(i=0; i<splits_x; i++)
// copy content from the original image into the split part, and save it
BMAP, bmap_lock, bmap_to_format, ptr_remove
► latest version online