awtk/docs/manual/bitmap_t.md
2021-10-13 09:51:38 +08:00

14 KiB
Raw Blame History

bitmap_t

概述

位图。

函数

函数名称 说明
bitmap_clone Clone图片。
bitmap_create 创建图片对象(一般供脚本语言中使用)。
bitmap_create_ex 创建图片对象。
bitmap_destroy 销毁图片。
bitmap_destroy_with_self 销毁图片(for script only)。
bitmap_get_bpp 获取图片一个像素占用的字节数。
bitmap_get_bpp_of_format 获取位图格式对应的颜色位数。
bitmap_get_line_length 获取每一行占用内存的字节数。
bitmap_get_pixel 获取图片指定像素的rgba颜色值(主要用于测试程序)。
bitmap_init 初始化图片。
bitmap_init_from_bgra 初始化图片。
bitmap_init_from_rgba 初始化图片。
bitmap_lock_buffer_for_read 为读取数据而锁定bitmap的图片缓冲区。
bitmap_lock_buffer_for_write 为修改数据而锁定bitmap的图片缓冲区。
bitmap_mono_dump dump mono bitmap。
bitmap_save_png 把bitmap保存为png。
bitmap_set_line_length 设置line_length。
bitmap_transform 对图片每个像素进行变换。
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_clone 函数


  • 函数功能:

Clone图片。

  • 函数原型:
bitmap_t* bitmap_clone (bitmap_t* bitmap);
  • 参数说明:
参数 类型 说明
返回值 bitmap_t* 返回新的bitmap对象。
bitmap bitmap_t* bitmap对象。

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_destroy_with_self 函数


  • 函数功能:

销毁图片(for script only)。

  • 函数原型:
ret_t bitmap_destroy_with_self (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_bpp_of_format 函数


  • 函数功能:

获取位图格式对应的颜色位数。

  • 函数原型:
uint32_t bitmap_get_bpp_of_format (bitmap_format_t format);
  • 参数说明:
参数 类型 说明
返回值 uint32_t 成功返回颜色位数失败返回0。
format bitmap_format_t 位图格式。

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_bgra 函数


  • 函数功能:

初始化图片。

数据。3通道时为BGR888格式4通道时为BGRA888格式(内部拷贝该数据,不会引用,调用者自行释放)。

  • 函数原型:
ret_t bitmap_init_from_bgra (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(bgr)和4(bgra))。

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_mono_dump 函数


  • 函数功能:

dump mono bitmap。

  • 函数原型:
ret_t bitmap_mono_dump (const uint8_t* buff, uint32_t w, uint32_t h);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
buff const uint8_t* 数据。
w uint32_t 宽度。
h uint32_t 高度。

bitmap_save_png 函数


  • 函数功能:

把bitmap保存为png。

  • 函数原型:
bool_t bitmap_save_png (bitmap_t* bitmap, const char* filename);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示成功FALSE表示失败。
bitmap bitmap_t* bitmap对象。
filename const char* 文件名。

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_transform 函数


  • 函数功能:

对图片每个像素进行变换。

  • 函数原型:
ret_t bitmap_transform (bitmap_t* bitmap, bitmap_transform_t transform, void* ctx);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
bitmap bitmap_t* bitmap对象。
transform bitmap_transform_t 回调函数。
ctx void* 回调函数的上下文。

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
特性 是否支持
可直接读取
可直接修改
可脚本化