请问位图解析中的pitch是什么,怎样计算
宽度(Width)和宽距(Pitch)
如果你的应用程序要写视频RAM,内存中的位图并不需要占据连续的内存块。在这种情况下,一条线的width和pitch含义是不同的。width是指内存中位图的一条线的开始和结束位置的内存地址之差。这个距离只代表了内存中位图的宽度,它不包括位图中到达下一条线开始位置所需要的任何额外的内存。pitch是指内存中位图的一条线到下一条线开始位置的内存地址之差。
对矩形内存来说,比如,视频RAM的pitch将包括位图的宽度加上一部分缓存。下面的例图表示了矩形内存中width和pitch的区别。
在这个例图中,前台缓存和后台缓存大小都是640x480x8,高速缓存是384x480x8。要到达下一条线的地址,你必须在640后加上384,得到1024,这就是下一条线的地址。
因此,当直接向页面内存中着色时,一般用IDirectDrawSurface3::Lock(或IDirectDrawSurface3::GetDC)方法返回的pitch值。不要认为pitch只是基于显示模式的。如果你的应用程序在某些显示器上发生显示混乱,这多半是因为pitch使用错误造成的。
请那位高手讲解一下pitch是什么,我理解不了,还有bliter怎样在显存内部进行位图的blit(位块传输)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论