我有int16 *高度[width * height]数组,保持地形高度,我将它们直接加载为int16 *。
我需要将高度写入bmp文件。
我是如何将int16恢复为rgb格式的,因为它们首先来自bmp文件(rgb格式)?
感谢。
答案 0 :(得分:1)
您需要循环遍历数组并将每个int16转换为RGB值。如果terrain
是您的数组
for (auto i=0; i<width * height; i++)
{
auto Color = terrain[i];
auto red = GetRValue16(color);
auto green = GetGValue16(color);
auto blue = GetBValue16(color);
}
关键点是你对三个函数GetXValue16
的定义,因为RGB通常是整数的4字节表示,即int32。另请参阅Extracting rgb color components from integer value