将uint8_t RGB888的数组转换为uint32_t ARGB8888的数组的示例代码
时间: 2023-10-21 13:01:07 浏览: 167
以下是将uint8_t RGB888的数组转换为uint32_t ARGB8888的数组的示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
// 假设有一个RGB888的数组
uint8_t rgb888[] = {255, 0, 0, 0, 255, 0, 0, 0, 255};
int size = sizeof(rgb888) / sizeof(rgb888[0]);
// 创建一个ARGB8888的数组
uint32_t argb8888[size / 3];
memset(argb8888, 0, sizeof(argb8888));
// 将RGB888的数组转换为ARGB8888的数组
for (int i = 0, j = 0; i < size; i += 3, j++) {
argb8888[j] = (0xFF << 24) | (rgb888[i] << 16) | (rgb888[i + 1] << 8) | (rgb888[i + 2]);
}
// 输出ARGB8888的数组
for (int i = 0; i < size / 3; i++) {
cout << hex << argb8888[i] << endl;
}
return 0;
}
```
该代码将RGB888的数组转换为ARGB8888的数组,并使用十六进制输出。
阅读全文