注意是DDB不是DIB,我想直接操作像素的rgb数据
像LPDIRECTDRAWSURFACE 中的lock

解决方案 »

  1.   

    坐个沙发,你看看programming windows就会知道的,msdn上也有,
    大体思路是这样的
    get(x,y,pRGB)
    {
      return  memcpy(LPVOID(x*width+y),LPVOID(pRGB),3));
    }
      

  2.   

    pRGB怎么得到?
    不要用memcpy的
      

  3.   

    看看MSDN 中的DIBLOOK案例吧.
    其中的LPSTR     WINAPI  FindDIBBits (LPSTR lpbi);
    就是获得图像data
      

  4.   

    pRGB是一个DWORD[4的数组啊,用来存放R,G,B的三个值啊
      

  5.   

    http://community.csdn.net//Expert/TopicView1.asp?id=4326157
    给你找的
      

  6.   

    我要的不是DIB的数据,要直接操作HBITMAP的rgb信息,也不要用memcpy,那样每次操作都要耗费大量的内存,而且速度慢
      

  7.   

    HBITMAP的内容恐怕是不能直接修改的吧?它只是一个资源的映射。
      

  8.   

    正确的用法应该是得到dib,修改后重新生成一个HBITMAP
      

  9.   

    那不行, GDI或者windows 的API当中没有接口可以直接访问显存的
    这个通路没有开放