## bitmap\_t ### 概述 位图。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | bitmap\_create | 创建图片对象(一般供脚本语言中使用)。 | | bitmap\_create\_ex | 创建图片对象。 | | bitmap\_destroy | 销毁图片。 | | bitmap\_get\_bpp | 获取图片一个像素占用的字节数。 | | bitmap\_get\_line\_length | 获取每一行占用内存的字节数。 | | bitmap\_get\_pixel | 获取图片指定像素的rgba颜色值(主要用于测试程序)。 | | bitmap\_init | 初始化图片。 | | bitmap\_init\_from\_rgba | 初始化图片。 | | bitmap\_lock\_buffer\_for\_read | 为读取数据而锁定bitmap的图片缓冲区。 | | bitmap\_lock\_buffer\_for\_write | 为修改数据而锁定bitmap的图片缓冲区。 | | bitmap\_set\_line\_length | 设置line_length。 | | bitmap\_unlock\_buffer | 解锁图像缓冲区。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | buffer | graphic\_buffer\_t* | 图片数据。 | | flags | uint16\_t | 标志。请参考{bitmap_flag_t}。 | | format | uint16\_t | 格式。请参考{bitmap_format_t}。 | | h | wh\_t | 高度。 | | line\_length | uint32\_t | 每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。 | | name | const char* | 名称。 | | w | wh\_t | 宽度。 | #### bitmap\_create 函数 ----------------------- * 函数功能: >

创建图片对象(一般供脚本语言中使用)。 * 函数原型: ``` bitmap_t* bitmap_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bitmap\_t* | 返回bitmap对象。 | #### bitmap\_create\_ex 函数 ----------------------- * 函数功能: >

创建图片对象。 * 函数原型: ``` bitmap_t* bitmap_create_ex (uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bitmap\_t* | 返回bitmap对象。 | | w | uint32\_t | 宽度。 | | h | uint32\_t | 高度。 | | line\_length | uint32\_t | line\_length。 | | format | bitmap\_format\_t | 格式。 | #### bitmap\_destroy 函数 ----------------------- * 函数功能: >

销毁图片。 * 函数原型: ``` ret_t bitmap_destroy (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_get\_bpp 函数 ----------------------- * 函数功能: >

获取图片一个像素占用的字节数。 * 函数原型: ``` uint32_t bitmap_get_bpp (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | uint32\_t | 返回一个像素占用的字节数。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_get\_line\_length 函数 ----------------------- * 函数功能: >

获取每一行占用内存的字节数。 * 函数原型: ``` ret_t bitmap_get_line_length (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回每一行占用内存的字节数。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_get\_pixel 函数 ----------------------- * 函数功能: >

获取图片指定像素的rgba颜色值(主要用于测试程序)。 * 函数原型: ``` ret_t bitmap_get_pixel (bitmap_t* bitmap, uint32_t x, uint32_t y, rgba_t* rgba); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | | x | uint32\_t | x坐标。 | | y | uint32\_t | y坐标。 | | rgba | rgba\_t* | 返回颜色值。 | #### bitmap\_init 函数 ----------------------- * 函数功能: >

初始化图片。 * 函数原型: ``` ret_t bitmap_init (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* data); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | | w | uint32\_t | 宽度。 | | h | uint32\_t | 高度。 | | format | bitmap\_format\_t | 格式。 | | data | const uint8\_t* | 数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。 | #### bitmap\_init\_from\_rgba 函数 ----------------------- * 函数功能: >

初始化图片。 数据。3通道时为RGB888格式,4通道时为RGBA888格式(内部拷贝该数据,不会引用,调用者自行释放)。 * 函数原型: ``` ret_t bitmap_init_from_rgba (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* , uint32_t comp); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | | w | uint32\_t | 宽度。 | | h | uint32\_t | 高度。 | | format | bitmap\_format\_t | 格式。 | | | const uint8\_t* | a | | comp | uint32\_t | 颜色通道数(目前支持3(rgb)和4(rgba))。 | #### bitmap\_lock\_buffer\_for\_read 函数 ----------------------- * 函数功能: >

为读取数据而锁定bitmap的图片缓冲区。 * 函数原型: ``` uint8_t* bitmap_lock_buffer_for_read (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | uint8\_t* | 返回缓存区的首地址。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_lock\_buffer\_for\_write 函数 ----------------------- * 函数功能: >

为修改数据而锁定bitmap的图片缓冲区。 * 函数原型: ``` uint8_t* bitmap_lock_buffer_for_write (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | uint8\_t* | 返回缓存区的首地址。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_set\_line\_length 函数 ----------------------- * 函数功能: >

设置line_length。 * 函数原型: ``` ret_t bitmap_set_line_length (bitmap_t* bitmap, uint32_t line_length); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | | line\_length | uint32\_t | line\_length。 | #### bitmap\_unlock\_buffer 函数 ----------------------- * 函数功能: >

解锁图像缓冲区。 * 函数原型: ``` ret_t bitmap_unlock_buffer (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | bitmap | bitmap\_t* | bitmap对象。 | #### buffer 属性 ----------------------- >

图片数据。 * 类型:graphic\_buffer\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### flags 属性 ----------------------- >

标志。请参考{bitmap_flag_t}。 * 类型:uint16\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | #### format 属性 ----------------------- >

格式。请参考{bitmap_format_t}。 * 类型:uint16\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | #### h 属性 ----------------------- >

高度。 * 类型:wh\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | #### line\_length 属性 ----------------------- >

每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | #### name 属性 ----------------------- >

名称。 * 类型:const char* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | #### w 属性 ----------------------- >

宽度。 * 类型:wh\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 |