我正在用 C++ 编写一个 tga 解析器,现在它可以读取图像类型 2、3、10 的文件,但我被困在类型 1 中,它们有颜色图。我不知道如何将颜色映射颜色转换为 rgb 或 rgba。似乎对于类型 1 图像(未编码),如果我有 a char* color_map
,我应该将其转换为uint_8*
,如果color_map_entry_depth
是 24 并且pixel_depth
是 8 并且我们uint8_t pixel_data[3]
从文件缓冲区中获取了 a ,则第一个像素颜色将是
RGB(color_map[pixel_data[2]],color_map[pixel_data[1],color_map[pixel_data[0]])
但它给了我错误的颜色。有人可以帮忙吗?