Skip to content

bitmap_t

概述

位图。

函数

函数名称说明
bitmap_cloneClone图片。
bitmap_create创建图片对象(一般供脚本语言中使用)。
bitmap_create_ex创建图片对象。
bitmap_create_ex2创建图片对象。
bitmap_create_ex3创建图片对象。
bitmap_deinit反初始化图片。
bitmap_destroy销毁图片。
bitmap_destroy_with_self销毁图片(for script only)。
bitmap_get_bpp获取图片一个像素占用的字节数。
bitmap_get_bpp_of_format获取位图格式对应的颜色位数。
bitmap_get_line_length获取每一行占用内存的字节数。
bitmap_get_physical_height获取图片真实物理的高度。
bitmap_get_physical_line_length获取图片真实物理的每一行占用内存的字节数。
bitmap_get_physical_width获取图片真实物理的宽度。
bitmap_get_pixel获取图片指定像素的rgba颜色值(主要用于测试程序)。
bitmap_init初始化图片。
bitmap_init_ex初始化图片。
bitmap_init_ex2创建图片对象。
bitmap_init_from_bgra初始化图片。
bitmap_init_from_rgba初始化图片。
bitmap_is_dirty获取图片是否脏。
bitmap_lock_buffer_for_read为读取数据而锁定bitmap的图片缓冲区。
bitmap_lock_buffer_for_write为修改数据而锁定bitmap的图片缓冲区。
bitmap_mono_dumpdump mono bitmap。
bitmap_save_png把bitmap保存为png。
bitmap_set_dirty设置图片是否脏。
bitmap_set_line_length设置line_length。
bitmap_transform对图片每个像素进行变换。
bitmap_unlock_buffer解锁图像缓冲区。

属性

属性名称类型说明
buffergraphic_buffer_t*图片数据。
flagsuint16_t标志。请参考{bitmap_flag_t}。
formatuint16_t格式。请参考{bitmap_format_t}。
hwh_t高度。
line_lengthuint32_t每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。
nameconst char*名称。
orientationlcd_orientation_t图片数据旋转。(修改了图片数据旋转后 flags 会带有 BITMAP_FLAG_LCD_ORIENTATION)
wwh_t宽度。

bitmap_clone 函数

  • 函数功能:

Clone图片。

  • 函数原型:
bitmap_t* bitmap_clone (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值bitmap_t*返回新的bitmap对象。
bitmapbitmap_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对象。
wuint32_t宽度。
huint32_t高度。
line_lengthuint32_tline_length。
formatbitmap_format_t格式。

bitmap_create_ex2 函数

  • 函数功能:

创建图片对象。

  • 函数原型:
bitmap_t* bitmap_create_ex2 (uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format, uint8_t* data, bool_t should_free_data);
  • 参数说明:
参数类型说明
返回值bitmap_t*返回bitmap对象。
wuint32_t宽度。
huint32_t高度。
line_lengthuint32_tline_length。
formatbitmap_format_t格式。
datauint8_t*图像数据。
should_free_databool_t是否释放数据。

bitmap_create_ex3 函数

  • 函数功能:

创建图片对象。

  • 函数原型:
bitmap_t* bitmap_create_ex3 (uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format, uint8_t* data, uint8_t* physical_data_addr, bool_t should_free_data);
  • 参数说明:
参数类型说明
返回值bitmap_t*返回bitmap对象。
wuint32_t宽度。
huint32_t高度。
line_lengthuint32_tline_length。
formatbitmap_format_t格式。
datauint8_t*图像数据。
physical_data_addruint8_t*物理地址(部分硬件加速需要)。
should_free_databool_t是否释放数据。

bitmap_deinit 函数

  • 函数功能:

反初始化图片。

  • 函数原型:
ret_t bitmap_deinit (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。

bitmap_destroy 函数

  • 函数功能:

销毁图片。

  • 函数原型:
ret_t bitmap_destroy (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。

bitmap_destroy_with_self 函数

  • 函数功能:

销毁图片(for script only)。

  • 函数原型:
ret_t bitmap_destroy_with_self (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。

bitmap_get_bpp 函数

  • 函数功能:

获取图片一个像素占用的字节数。

  • 函数原型:
uint32_t bitmap_get_bpp (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint32_t返回一个像素占用的字节数。
bitmapbitmap_t*bitmap对象。

bitmap_get_bpp_of_format 函数

  • 函数功能:

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

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

bitmap_get_line_length 函数

  • 函数功能:

获取每一行占用内存的字节数。

  • 函数原型:
uint32_t bitmap_get_line_length (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint32_t返回每一行占用内存的字节数。
bitmapbitmap_t*bitmap对象。

bitmap_get_physical_height 函数

  • 函数功能:

获取图片真实物理的高度。

  • 函数原型:
uint32_t bitmap_get_physical_height (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint32_t返回图片高度。
bitmapbitmap_t*bitmap对象。

bitmap_get_physical_line_length 函数

  • 函数功能:

获取图片真实物理的每一行占用内存的字节数。

  • 函数原型:
uint32_t bitmap_get_physical_line_length (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint32_t返回每一行占用内存的字节数。
bitmapbitmap_t*bitmap对象。

bitmap_get_physical_width 函数

  • 函数功能:

获取图片真实物理的宽度。

  • 函数原型:
uint32_t bitmap_get_physical_width (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint32_t返回图片宽度。
bitmapbitmap_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表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
xuint32_tx坐标。
yuint32_ty坐标。
rgbargba_t*返回颜色值。

bitmap_init 函数

  • 函数功能:

初始化图片。

  • 函数原型:
ret_t bitmap_init (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, uint8_t* data);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
wuint32_t宽度。
huint32_t高度。
formatbitmap_format_t格式。
datauint8_t*数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。

bitmap_init_ex 函数

  • 函数功能:

初始化图片。

  • 函数原型:
ret_t bitmap_init_ex (bitmap_t* bitmap, uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format, uint8_t* data);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
wuint32_t宽度。
huint32_t高度。
line_lengthuint32_t行长。
formatbitmap_format_t格式。
datauint8_t*数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。

bitmap_init_ex2 函数

  • 函数功能:

创建图片对象。

  • 函数原型:
ret_t bitmap_init_ex2 (bitmap_t* bitmap, uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format, uint8_t* data, uint8_t* physical_data_addr, bool_t should_free_data);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
wuint32_t宽度。
huint32_t高度。
line_lengthuint32_tline_length。
formatbitmap_format_t格式。
datauint8_t*图像数据。
physical_data_addruint8_t*物理地址(部分硬件加速需要)。
should_free_databool_t是否释放数据。

bitmap_init_from_bgra 函数

  • 函数功能:

初始化图片。

  • 函数原型:
ret_t bitmap_init_from_bgra (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* data, uint32_t comp, lcd_orientation_t o);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
wuint32_t宽度。
huint32_t高度。
formatbitmap_format_t格式。
dataconst uint8_t*数据。3通道时为BGR888格式,4通道时为BGRA888格式(内部拷贝该数据,不会引用,调用者自行释放)。
compuint32_t颜色通道数(目前支持3(bgr)和4(bgra))。
olcd_orientation_t旋转方向。

bitmap_init_from_rgba 函数

  • 函数功能:

初始化图片。

  • 函数原型:
ret_t bitmap_init_from_rgba (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* data, uint32_t comp, lcd_orientation_t o);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
wuint32_t宽度。
huint32_t高度。
formatbitmap_format_t格式。
dataconst uint8_t*数据。3通道时为RGB888格式,4通道时为RGBA888格式(内部拷贝该数据,不会引用,调用者自行释放)。
compuint32_t颜色通道数(目前支持3(rgb)和4(rgba))。
olcd_orientation_t旋转方向。

bitmap_is_dirty 函数

  • 函数功能:

获取图片是否脏。

  • 函数原型:
bool_t bitmap_is_dirty (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值bool_t返回TRUE表示脏,FALSE表示不脏。
bitmapbitmap_t*bitmap对象。

bitmap_lock_buffer_for_read 函数

  • 函数功能:

为读取数据而锁定bitmap的图片缓冲区。

  • 函数原型:
uint8_t* bitmap_lock_buffer_for_read (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint8_t*返回缓存区的首地址。
bitmapbitmap_t*bitmap对象。

bitmap_lock_buffer_for_write 函数

  • 函数功能:

为修改数据而锁定bitmap的图片缓冲区。

  • 函数原型:
uint8_t* bitmap_lock_buffer_for_write (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值uint8_t*返回缓存区的首地址。
bitmapbitmap_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表示成功,否则表示失败。
buffconst uint8_t*数据。
wuint32_t宽度。
huint32_t高度。

bitmap_save_png 函数

  • 函数功能:

把bitmap保存为png。

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

bitmap_set_dirty 函数

  • 函数功能:

设置图片是否脏。

  • 函数原型:
ret_t bitmap_set_dirty (bitmap_t* bitmap, bool_t dirty);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
dirtybool_t是否脏。

bitmap_set_line_length 函数

  • 函数功能:

设置line_length。

  • 函数原型:
ret_t bitmap_set_line_length (bitmap_t* bitmap, uint32_t line_length);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_t*bitmap对象。
line_lengthuint32_tline_length。

bitmap_transform 函数

  • 函数功能:

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

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

bitmap_unlock_buffer 函数

  • 函数功能:

解锁图像缓冲区。

  • 函数原型:
ret_t bitmap_unlock_buffer (bitmap_t* bitmap);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
bitmapbitmap_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*
特性是否支持
可直接读取
可直接修改
可脚本化

orientation 属性

图片数据旋转。(修改了图片数据旋转后 flags 会带有 BITMAP_FLAG_LCD_ORIENTATION)

  • 类型:lcd_orientation_t
特性是否支持
可直接读取
可直接修改

w 属性

宽度。

  • 类型:wh_t
特性是否支持
可直接读取
可直接修改
可脚本化