CBitmap 类的 LoadBitmap 可以将一个位图资源文件加载到位图对象.
如果我只想:
将这个位图资源文件 指定的矩形区 来创建一个位图对象,
怎么办?
如果我只想:
将这个位图资源文件 指定的矩形区 来创建一个位图对象,
怎么办?
解决方案 »
- 遇到个问题,求各位帅哥解答,C++使用com操作excel
- zig-zag编码是怎么样的?
- 关于一个dib位图的显示问题,
- 我写了个程序,编译没错,但运行到最后出现下面的问题请问是 怎么回事
- 北京现在工资如何啊?北大青鸟这个公司如何?说快要到纳斯达克上市了!在北京混的兄弟们给点建议!
- 关于在南京找一份VC开发相关的工作
- 请问现在 Visual C++ 6.0 的各个版本要多少人民币呢?哪里有的订购??
- 如何能像NetMeeting那样得到通过麦克输入声音的大小?请进
- 大虾支招
- 访问网络资源,返回错误ERROR_INVALID_ADDRESS
- 求n组数的组合 及遍历结果遍历出来
- 简单问题-cstring
原型:BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop );
画到DC我会呀,但是,我要求画到 CBitmap 对象中,怎么做?
CBitmap* GetCurrentBitmap( ) const;
得到位图么??
然后::SetDIBits
再然后CBitmap::Attatch()
或者直接在指定区域显示像素点就好了
//自己写个函数吧,参数里传入源位图,新位图大小等信息
CBitmap Func(....)
{
//用到的设备描述表句柄
HDC hDC = ::GetDC(m_hWnd);
HDC hSourceDC = ::CreateCompatibleDC(hDC);
HDC hDestDC = ::CreateCompatibleDC(hDC);
//源位图对象
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
HBITMAP hSourceBmp = (HBITMAP)bmp.m_hObject; //源位图句柄
SelectObject(hSourceDC, hSourceBmp); //源位图选入内存
int iWidth = 200, iHeight = 50; //目标位图的大小
HBITMAP hDestBmp = ::CreateCompatibleBitmap(hDC, iWidth, iHeight); //新建位图 SelectObject(hDestDC, hDestBmp); //新位图选入内存
int iSourceX = 20, iSourceY = 20; //源位图的左上角位置
::StretchBlt(hDestDC, 0, 0, iWidth, iHeight, hSourceDC, iSourceX, iSourceY, iWidth, iHeight, SRCCOPY); //位图对象
CBitmap DestBmp;
DestBmp.Attach(hDestBmp); //释放资源
DeleteDC(hDC);
DeleteDC(hSourceDC);
DeleteDC(hDestDC); DeleteObject(hSourceBmp);
DeleteObject(hDestBmp); return DestBmp;
}
DeleteObject(hDestBmp); //新建的位图不能删,去掉这句