码迷,mamicode.com
首页 > 其他好文 > 详细

Width vs Pitch

时间:2014-08-04 13:48:07      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   使用   数据   for   div   

1、单位不同,width是像素,pitch是字节。因此一个640*480的8位图和640*480的32位 图他们width一样而pitch不一样。 
2、pitch可能大于width个像素所占字节数。width就是图像实际显示的宽度;而pitch 是存储一行图像所占的字节(相邻两行起点指针的差值),有时为了高效处理,会将每 行图像都对齐存储,这样pitch就包括了对齐使用的填充字节。
 
void ChangeRed()
{
    //假定_surface是一个指向IDirectSurface9接口的指针
    //每个像素 32bit的像素格式

    //取得表面描述
    D3DSURFACE_DESC surfaceDesc;
    _surface->GetDesc(&surfaceDesc);

    //取得被锁定的表面像素指针
    D3DLOCKED_RECT lockedRect;
    _surface->LockRect(
        &lockedRect,//指向被锁定表面的数据
        0,//0表示锁定全部表面
        0);//0表示没有锁定标记

    //遍历表面上的每个像素,将他们设为红色
    DWORD *imageData = (DWORD *)lockedRect.pBits;
    for (int i = 0; i < surfaceDesc.Width; ++i)
    {
        for (int j = 0; j < surfaceDesc.Height; ++j)
        {
            //取得纹理索引
            int index = i * lockedRect.Pitch / 4 + j;
            imageData[index] = 0xffff0000;
        }
     }

}

Width vs Pitch,布布扣,bubuko.com

Width vs Pitch

标签:des   style   blog   color   使用   数据   for   div   

原文地址:http://www.cnblogs.com/panyingying/p/3889774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!