http://www.gdal.org/gdal_tutorial.html这些都是官网上的一些例子,看了下,记点简单的。
GDALRasterBand *poBand; int nBlockXSize, nBlockYSize; int bGotMin, bGotMax; double adfMinMax[2]; poBand = poDataset->GetRasterBand( 1 ); poBand->GetBlockSize( &nBlockXSize, &nBlockYSize );//获得图像的大小,不必每次调用2个函数,第一次发现这个函数 printf( "Block=%dx%d Type=%s, ColorInterp=%s\n", nBlockXSize, nBlockYSize, GDALGetDataTypeName(poBand->GetRasterDataType()),//获的 图片的数据类型,转名字,把前面的GDT_去了 GDALGetColorInterpretationName( poBand->GetColorInterpretation()) );//这个测试了下不知道是什么东西。//这是获的图片中的最大最小值adfMinMax[0] = poBand->GetMinimum( &bGotMin );//对最大最小值初始化 adfMinMax[1] = poBand->GetMaximum( &bGotMax ); if( ! (bGotMin && bGotMax) ) GDALComputeRasterMinMax((GDALRasterBandH)poBand, TRUE, adfMinMax);//获得图片最大最小值 printf( "Min=%.3fd, Max=%.3f\n", adfMinMax[0], adfMinMax[1] ); if( poBand->GetOverviewCount() > 0 ) printf( "Band has %d overviews.\n", poBand->GetOverviewCount() );//不清楚 if( poBand->GetColorTable() != NULL ) printf( "Band has a color table with %d entries.\n", poBand->GetColorTable()->GetColorEntryCount() );//不清楚
待续