好,小弟我承认昨天是小弟我不好,态度也不好,小弟我这里道歉了,不过大家近来看看,小弟我改完了,到底哪出了有关问题,显示的图像不对

好,我承认昨天是我不好,态度也不好,我这里道歉了,不过大家近来看看,我改完了,到底哪出了问题,显示的图像不对
如题
首先和给我回复过帖子的朋友道歉
由于时间紧,很着急,话也不怎么好听

好了,我参考了下大家的答案,然后想了个最好的办法(也许是,如果不是请批评)

C/C++ code


//(1)代码我没做改动,还是这样 
unsigned char  rgb_buf[100*40*3] ; //这个内存区呢,里面有很多位图r,g,b值,格式是bgrbgrbgrbgr.... 
CDC * cur_dc ;  
CDC * mem_dc ;  
CBitmap * mem_bmp ;  

cur_dc = GetDC() ; //获得显示设备信息 
if(mem_dc != NULL) delete mem_dc ;  
mem_dc = new CDC ; 
if(mem_bmp != NULL) delete mem_bmp ;  
mem_bmp = new CBitmap ; 

mem_dc- >CreateCompatibleDC(cur_dc) ; 
mem_bmp- >CreateCompatibleBitmap(cur_dc, 100, 40) ; 
mem_dc- >SelectObject(mem_bmp) ;  


//(2)这一步我改了,改为先生成位图在拷贝到屏幕,如下
    HBITMAP hOldBitmap = HBITMAP(mem_bmp);
    ::SetBitmapBits(hOldBitmap, sizeof(rgb_buf), rgb_buf );
    mem_dc->SelectObject(hOldBitmap) ;

    cur_dc->BitBlt(0,0,
            100, 40,
            mem_dc, 
            0,0,
            SRCCOPY) ;  
//这下我测试了下速度,恩,不错,快多了,但问题出来了::
图像根本不是正确的数据,反正图像是什么我也不知道,问题肯定出在第2步了
但究竟出在哪导致的图片乱七八糟的不知道是什么呢??大家帮我看看
解决了,所有帖子都结分  




------解决方案--------------------
昨天的事情没看到,帮顶,呵呵
------解决方案--------------------
不懂,帮顶
------解决方案--------------------
C/C++ code
    unsigned char  rgb_buf[100*40*4];
    for(int i=0; i< 100; i++)
    {
        for(int j=0; j<40; j++)
        {
            rgb_buf[i*100 +j*4] = 100;
            rgb_buf[i*100 +j*4+1] = 150;
            rgb_buf[i*100 +j*4+2] = 255;
            rgb_buf[i*100 +j*4+3] = 0;
        }
    }
    CDC * cur_dc ;  
    CDC * mem_dc ;  
    CBitmap * mem_bmp ;  
    
    cur_dc = GetDC() ; //获得显示设备信息 
    mem_dc = new CDC ; 
    mem_bmp = new CBitmap ; 
    
    mem_dc->CreateCompatibleDC(cur_dc) ; 
    mem_bmp->CreateCompatibleBitmap(cur_dc, 100, 40) ; 
    
    
    //(2)这一步我改了,改为先生成位图在拷贝到屏幕,如下
    HBITMAP hOldBitmap = HBITMAP(*mem_bmp); // 这里。。。。。。。。。。。
    ::SetBitmapBits(hOldBitmap, sizeof(rgb_buf), rgb_buf );
    mem_dc->SelectObject(mem_bmp) ;  
    
    cur_dc->BitBlt(0,0,
        100, 40,
        mem_dc, 
        0,0,
            SRCCOPY) ;

------解决方案--------------------
什么32位,怎么改....