//我想在读入的位图上截取指定大小的图片,下面这段程序还请大侠们指点下 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图片)
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图片)
解决方案 »
- 【新人】求指引和推荐
- MFC编程
- Vista 下创建全局共享内存的问题(为解决这个问题已经耗费了3天了,在线等。。。)
- ListCtrl里的item全选,反选,清除选中怎么实现?
- 导入组件Windows.Forms.2.0 可不可以不要封装的文件加入
- m_dwRef调试错误,请教如何解决?
- 三种分配内存方法的同步问题
- VS2010中DLL和static LIB都导出STL类时候怎么解决冲突
- 刚刚工作问一个关于视图分割的问题
- 傅立叶变换出现奇怪结果,请各位帮我看看!!!
- vc++,在文档模式下(IDR_MAINFRAME里)实现水晶报表,怎样实现翻页,困扰好久了!
- CSplitterWnd 多层分割在debug下出错
是
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中
BOOL SaveBmp(HBITMAP hBitmap, CString FileName)
函数http://topic.csdn.net/t/20031114/11/2459692.html
2.打开你的程序,并让想要保存的区域可见.
3.按ctrl+alt+a,选中你想要保存的区域,双击。
4.按win+r,输入mspaint, 回车,然后同时按ctrl+v,再按ctrl+s就可以保存为bmp文件了
http://www.vckbase.com/document/viewdoc/?id=181