//我想在读入的位图上截取指定大小的图片,下面这段程序还请大侠们指点下 CClientDC dc(this);  //这里的this指的是什么,是当前的view类吗?我是想在view的那里面存储指定区域的图片的
CBitmap bmpForSave;
CDC cdcForSave;
CRect r(0, 0, max1[0] - min1[1], max1[1] - max1[0]);//这里画的矩形,是我打算要截取的指定矩形的图片吗? bmpForSave.CreateCompatibleBitmap(&dc, r.Width(), r.Height());//这里是指建立一个与那个矩形一样大的矩形位图吗?
cdcForSave.CreateCompatibleDC(&dc);//这里是什么意思?
cdcForSave.SelectObject(bmpForSave);//这里是什么意思?
cdcForSave.BitBlt(0, 0, r.Width(), r.Height(), &dc, 0, 0, SRCCOPY);//这里是什么意思?
我在重复一下我的问题:
我只是想存储指定矩形内的图片,上面这段代码不知道行不行?
还有,如果行的话,我怎么才能看到图片呢?好像没有保存图片的地方啊?(就是输出bmp图片)

解决方案 »

  1.   

        CClientDC dc(this);  //这里的this指的是什么,是当前的view类吗?我是想在view的那里面存储指定区域的图片的
                                                               是
        CBitmap bmpForSave;
        CDC cdcForSave;
        CRect r(0, 0, max1[0] - min1[1], max1[1] - max1[0]);//这里画的矩形,是我打算要截取的指定矩形的图片吗?
                                                                    这个矩形是不是你想要的那个矩形就只有你才知道了    bmpForSave.CreateCompatibleBitmap(&dc, r.Width(), r.Height());//这里是指建立一个与那个矩形一样大的矩形位图吗?
                                                                                是
        cdcForSave.CreateCompatibleDC(&dc);//这里是什么意思?
                                                 根据dc创建一个兼容的,在内存中的dc
        cdcForSave.SelectObject(bmpForSave);//这里是什么意思?
                                                 指定bmpForSave为DC的Bitmap对象
        cdcForSave.BitBlt(0, 0, r.Width(), r.Height(), &dc, 0, 0, SRCCOPY);//这里是什么意思?
                                                 把 dc 中的内容 按按原样拷贝(SRCCOPY)到cdcForSave中
                                                 由于cdcForSave选定了bmpForSave为它的Bitmap对象,因此内容就拷贝到了bmpForSave中
      

  2.   

    CBitmap本身不提供保存为保存为bmp图片文件的函数怎么保存为bmp图片文件的代码, 你可以看这里的
    BOOL SaveBmp(HBITMAP hBitmap, CString FileName) 
    函数http://topic.csdn.net/t/20031114/11/2459692.html
      

  3.   

    函数人家都给你写好了还嫌麻烦啊~那我告诉你一个简单的方法 ^_^1.打开QQ
    2.打开你的程序,并让想要保存的区域可见.
    3.按ctrl+alt+a,选中你想要保存的区域,双击。
    4.按win+r,输入mspaint, 回车,然后同时按ctrl+v,再按ctrl+s就可以保存为bmp文件了
      

  4.   

    把CClientDC当一个位图保存下来,就象截屏一样.  
      http://www.vckbase.com/document/viewdoc/?id=181