BSP_LCD_DrawBitmapEx(x, y, (uint8_t*)ohm.c, width, height);报错
时间: 2024-03-13 08:46:51 浏览: 40
`BSP_LCD_DrawBitmapEx()`函数的第三个参数是一个指向`uint8_t`类型的指针,表示要绘制的位图数据。在你的代码中,第三个参数使用了一个名为`ohm.c`的变量,但是从变量名来看,它似乎并不是一个指向`uint8_t`类型的指针,这可能导致编译错误。
为了解决这个问题,你需要确保`ohm.c`变量的类型是一个指向`uint8_t`类型的指针,并且指向正确的位图数据。另外,你还需要确保`width`和`height`参数分别表示位图的宽度和高度,且与实际位图数据的宽度和高度相匹配。
具体来说,你可以按照以下步骤进行修改:
1. 确认`ohm.c`变量的类型是否正确,如果不正确则需要将其修改为一个指向`uint8_t`类型的指针。例如,如果`ohm.c`是一个数组,你可以将其修改为以下形式:
```c
const uint8_t ohm[] = { /* 位图数据 */ };
```
2. 确认`width`和`height`参数是否正确,如果不正确则需要将其修改为实际位图数据的宽度和高度。例如,如果你要绘制的位图数据宽度为`w`,高度为`h`,则可以这样写:
```c
BSP_LCD_DrawBitmapEx(x, y, (uint8_t*)ohm, w, h);
```
如果你仍然遇到编译错误,请检查相关的头文件是否已经正确包含,并确保你的代码中已经正确初始化了LCD屏幕。
相关问题
int ConvertToI420(const uint8_t* sample, size_t sample_size, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, int dst_stride_u, uint8_t* dst_v, int dst_stride_v, int crop_x, int crop_y, int src_width, int src_height, int crop_width, int crop_height, enum RotationMode rotation, uint32_t fourcc) 参数解析
int ConvertToI420(const uint8_t* sample, size_t sample_size, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_u, int dst_stride_u, uint8_t* dst_v, int dst_stride_v, int crop_x, int crop_y, int src_width, int src_height, int crop_width, int crop_height, enum RotationMode rotation, uint32_t fourcc)
这是一个将图像数据转换为 I420 格式的函数。它的参数解析如下:
- sample:指向输入图像数据的指针。
- sample_size:指定输入图像数据的字节数。
- dst_y:指向输出 I420 格式图像数据中 Y 分量数据的指针。
- dst_stride_y:指定输出 I420 格式图像数据中 Y 分量数据每一行的字节数。
- dst_u:指向输出 I420 格式图像数据中 U 分量数据的指针。
- dst_stride_u:指定输出 I420 格式图像数据中 U 分量数据每一行的字节数。
- dst_v:指向输出 I420 格式图像数据中 V 分量数据的指针。
- dst_stride_v:指定输出 I420 格式图像数据中 V 分量数据每一行的字节数。
- crop_x:指定输入图像数据裁剪区域左上角点的 x 坐标。
- crop_y:指定输入图像数据裁剪区域左上角点的 y 坐标。
- src_width:指定输入图像数据的宽度。
- src_height:指定输入图像数据的高度。
- crop_width:指定输入图像数据裁剪区域的宽度。
- crop_height:指定输入图像数据裁剪区域的高度。
- rotation:指定输入图像数据的旋转角度。
- fourcc:指定输入图像数据的格式编码。
该函数将输入图像数据转换为 I420 格式,并将结果存储在 dst_y、dst_u、dst_v 指向的内存中。在 I420 格式中,Y 分量数据存储在连续的内存块中,U 和 V 分量数据分别存储在两个连续的内存块中。crop_x 和 crop_y 指定了输入图像数据的裁剪区域的左上角坐标,crop_width 和 crop_height 指定了裁剪区域的宽度和高度。rotation 指定了输入图像数据的旋转角度,fourcc 指定了输入图像数据的格式编码。
int I420ToNV21(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_vu, int dst_stride_vu, int width, int height); 参数解析
int I420ToNV21(const uint8_t* src_y, int src_stride_y, const uint8_t* src_u, int src_stride_u, const uint8_t* src_v, int src_stride_v, uint8_t* dst_y, int dst_stride_y, uint8_t* dst_vu, int dst_stride_vu, int width, int height);
这是一个将 I420 格式的图像数据转换为 NV21 格式的图像数据的函数。它的参数解析如下:
- src_y:指向 I420 格式图像数据中 Y 分量数据的指针。
- src_stride_y:指定 I420 格式图像数据中 Y 分量数据每一行的字节数。
- src_u:指向 I420 格式图像数据中 U 分量数据的指针。
- src_stride_u:指定 I420 格式图像数据中 U 分量数据每一行的字节数。
- src_v:指向 I420 格式图像数据中 V 分量数据的指针。
- src_stride_v:指定 I420 格式图像数据中 V 分量数据每一行的字节数。
- dst_y:指向转换后的 NV21 格式图像数据中 Y 分量数据的指针。
- dst_stride_y:指定转换后的 NV21 格式图像数据中 Y 分量数据每一行的字节数。
- dst_vu:指向转换后的 NV21 格式图像数据中 VU 平面数据的指针。
- dst_stride_vu:指定转换后的 NV21 格式图像数据中 VU 平面数据每一行的字节数。
- width:指定图像的宽度。
- height:指定图像的高度。
该函数将 I420 格式的图像数据分离成 Y、U、V 三个分量,然后将它们重新组合成 NV21 格式的图像数据,并存储在 dst_y 和 dst_vu 指向的内存中。在 NV21 格式中,Y 分量数据存储在连续的内存块中,VU 平面数据存储在另一个连续的内存块中,先存储 V 分量数据,再存储 U 分量数据。
阅读全文