CImage GetBits()和像素存储格式 传递给opengl贴图函数

CImage的GetBits()函数返回图像数据,可能从左上或左下角开始,结合GetPitch()和GetHeight()确定起始位置。GetPitch()指示行间距,负值表示从下到上的DIB。像素格式为BGR。博客提到了如何将这种数据传递给OpenGL进行纹理映射,参考了相关博客文章。
摘要由CSDN通过智能技术生成

GetBits():
CImage类提供了GetBits()函数来读取数据区,GetBits()函数返回的是图片最后一行第一个像素的地址,
网上有人说返回指针的起始位置是不同的,有些图片返回的是左上角像素的地址,有些是左下角像素的地址,跟图片内部顺序有关。
GetPitch( ) 图像的间距。 如果返回值为负,位图是一个从下到上 DIB,并且原点是左下角。 如果返回值为正的,位图是一组 DIB,并且原点为左上角
两个函数GetPitch()和GetHeight()一起使用就可以得到图片数据取得起始位置

img_Data=(BYTE )m_Image.GetBits()+(m_Image.GetPitch()(m_Image.GetHeight()-1));

其中GetHeight()函数返回图片的高度(以像素为单位)。GetPitch()返回图像的斜度,如果图像的顺序是从下到上(也就是GetBits()返回左上角像素的地址),这时GetPitch()返回一个负值,大小为图像宽所占有的字节数。

像素存储格式为BGR

给opengl传递参数:

glTexImage2D(GL_TEXTURE_2D, 0, GL_BGR
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值