使用gdal读取图像数据,然后用构建gdi+位图显示

在本教程中,我们将展示如何利用GDAL库读取TIFF图像数据,并通过GDI+创建位图进行显示。首先,我们注册GDAL库并打开指定的TIFF文件。接着,获取图像的宽度、高度、通道数,然后读取图像数据到缓冲区。使用这些数据,我们创建一个GDI+的Bitmap对象,并在设备上下文上绘制该位图,从而实现在界面上显示图像。
摘要由CSDN通过智能技术生成
如果想利用双缓存显示gdal读取的图像数据,把图像数据构建成一个gdi+的位图来显示
void CGdalGdiView::OnDraw(CDC* /*pDC*/)
{
	CGdalGdiDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
	// TODO: 在此处为本机数据添加绘制代码
	if(m_lable)
	{  GDALAllRegister(); 
	m_pDataset =(GDALDataset*) GDALOpen("C:\\tiff\\111.tif",GA_ReadOnly );
         if(m_pDataset==NULL )  
           {  
           AfxMessageBox(_T("文件打开失败!!!"));  
           return;  
           }   
          CRect rect;
          GetClientRect(rect);
	  int dataWidth=m_pDataset->GetRasterXSize();
	  int dataHeight=m_pDataset->GetRasterYSize();
          int dataBands =  m_pDataset->GetRasterCount();  
          int band_list[3] = {3,2,1};  	
          int iSize = GDALGetDataTypeSize(GDT_Byte) / 8; 
          BYTE* pBuffer = new BYTE[dataWidth*dataHeight*dataBands];  
          CPLErr err = m_pDataset->RasterIO(GF_Read, 0, 0, dataWidth, dataHeight
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值