本帖最后由 VisualEleven 于 2013-03-18 09:54:21 编辑

解决方案 »

  1.   

    buf的大小 = 每一行的数据大小*高度。记住,DIB位图每一行的所需的字节数是按4字节对齐的。
    如果是8位位图话,则为:
    (width*8 + 31)/32那么buf的总大小,就是:
    (width*8 + 31)/32 * height
      

  2.   

    2楼 你说的 那个buf大小  +31 是什么意思?
      

  3.   

    BUF大小是可以算出来的啊。简单说是图片的宽*高*每个像素的字节数
    由于位图是宽度4字节对齐,所以就需要
    (width*biBitCount + 31)/32 * height
      

  4.   

    源图 是直接截取屏幕获得的数据。 没有生成图片,直接复制数据到 buf。  现在的问题是 无法调成8位,4位 之类的
      

  5.   


    不好意思,搞错了,应该是:如果是8位位图话,则为:
    (width*8 + 31)/32 * 4那么buf的总大小,就是:
    (width*8 + 31)/32 * 4 * height