扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
typedef struct tagDEMFILEHEADER{ // 定义DEM数据的头文件格式 int map[6]; // 保留 int iDemY; // DEM格网Y方向上的点数 int iDemX; // DEM格网X方向上的点数 float sx; // X方向缩放系数 float sy; // Y方向缩放系数 float interval; // DEM格网点的采样间隔 } DEMFILEHEADER; |
DemHeader.iDemX = set.m_nXPoint; // 填充文件头 DemHeader.iDemY = set.m_nYPoint; DemHeader.interval = set.m_nInterval; // 选择待生成的DEM文件 CFileDialog fileDlg(FALSE, "*.dem", "*.dem", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "地形数据文件(*.dem)|*.dem||", NULL); if (fileDlg.DoModal() == IDOK) { // 申请DEM数据缓冲区 int* pData = new int[set.m_nWidthBytes * set.m_nYPoint + 100]; if (set.m_bUseRandom == FALSE) { BYTE R, G, B; // 24位图象将真彩数据转换为灰度数据保存 for (int i = 0; i < set.m_nYPoint; i++) { for (int j = 0; j < set.m_nXPoint; j++) { B = set.m_pData[i * set.m_nWidthBytes + j * 3]; G = set.m_pData[i * set.m_nWidthBytes + j * 3 + 1]; R = set.m_pData[i * set.m_nWidthBytes + j * 3 + 2]; pData[i * DemHeader.iDemX + j] = (int)((9798.0f * R + 19235.0f * G + 3735.0f * B) / 32768.0f); } } }else{ for (int i = 0; i < set.m_nXPoint * set.m_nYPoint; i++) // 用随机数填充DEM数据 pData[i] = (int)(rand() % set.m_nLimit); } CFile file; // 保存DEM数据到文件 file.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeReadWrite); if (pData != NULL) { file.Write((LPSTR)&DemHeader, sizeof(DemHeader)); file.WriteHuge((LPSTR)pData, DemHeader.iDemX * DemHeader.iDemY * sizeof(int)); } file.Close(); delete[] pData; } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者