早教吧作业答案频道 -->其他-->
GetSrcBit(dc.mhDC,Width,Height)是什么函数,干什么用的?
题目详情
GetSrcBit(dc.m_hDC,Width,Height)是什么函数,干什么用的?
▼优质解答
答案和解析
// 从一个设备,获取其(0,0)-(BitWidth,BitHeight)这个矩形的像素,存储到一个新创建的内存位图中,并返回.
HBITMAP GetSrcBit(HDC hDC,DWORD BitWidth,DWORD BitHeight)
{
HDC hBufDC;
HBITMAP hBitmap,hBitTemp;
hBufDC = CreateCompatibleDC(hDC); // 创建一个和hDC(一般是屏幕)兼容的内存DC
hBitmap = CreateCompatibleBitmap(hDC,BitWidth,BitHeight); // 创建一个和hDC兼容的空位图(例如,hDC是16位彩色,这个hBitmap也是16位彩色;hDC是24位彩色,这个hBitmap也是16位彩色)
hBitTemp = (HBITMAP) SelectObject(hBufDC,hBitmap); // 把内存DC和空位图绑定,内存DC的原始的位图句柄被hBitTemp暂时保存起来.
StretchBlt(hBufDC,0,0,BitWidth,BitHeight,hDC,0,0,BitWidth,BitHeight,SRCCOPY); // 将hDC的一个矩形位图复制到内存DC中(其实就是复制到和内存DC绑定的空位图中,现在它就不再是空位图了)
hBitmap = (HBITMAP) SelectObject(hBufDC,hBitTemp); // 内存DC选择和原先的原始位图再次绑定,把刚刚获得像素的位图踢出来,还给hBitmap.
::DeleteDC(hBufDC); // 删除内存DC(同时也会删除它绑定的位图.这就是为什么上面要把位图踢出来的原因,为了避免一起死.)
return hBitmap; // 将这个位图返回.不过外界用完这个位图,要记得释放它.
}
HBITMAP GetSrcBit(HDC hDC,DWORD BitWidth,DWORD BitHeight)
{
HDC hBufDC;
HBITMAP hBitmap,hBitTemp;
hBufDC = CreateCompatibleDC(hDC); // 创建一个和hDC(一般是屏幕)兼容的内存DC
hBitmap = CreateCompatibleBitmap(hDC,BitWidth,BitHeight); // 创建一个和hDC兼容的空位图(例如,hDC是16位彩色,这个hBitmap也是16位彩色;hDC是24位彩色,这个hBitmap也是16位彩色)
hBitTemp = (HBITMAP) SelectObject(hBufDC,hBitmap); // 把内存DC和空位图绑定,内存DC的原始的位图句柄被hBitTemp暂时保存起来.
StretchBlt(hBufDC,0,0,BitWidth,BitHeight,hDC,0,0,BitWidth,BitHeight,SRCCOPY); // 将hDC的一个矩形位图复制到内存DC中(其实就是复制到和内存DC绑定的空位图中,现在它就不再是空位图了)
hBitmap = (HBITMAP) SelectObject(hBufDC,hBitTemp); // 内存DC选择和原先的原始位图再次绑定,把刚刚获得像素的位图踢出来,还给hBitmap.
::DeleteDC(hBufDC); // 删除内存DC(同时也会删除它绑定的位图.这就是为什么上面要把位图踢出来的原因,为了避免一起死.)
return hBitmap; // 将这个位图返回.不过外界用完这个位图,要记得释放它.
}
看了 GetSrcBit(dc.m...的网友还看了以下:
在等腰梯形ABCD中,AD//BC,已知AD=8cm,BC=14cm,AB=CD=5cm,E为AD 2020-05-14 …
求解一道初三几何函数题.已知在梯形ABCD中,AD//BC,AB=DC=AD=6,∠ABC=60° 2020-05-17 …
GetSrcBit(dc.mhDC,Width,Height)是什么函数,干什么用的? 2020-06-05 …
如图,已知二次函数y=ax2-2ax+3的图象与x轴交于点A,点B,与y轴交于点C,其顶点为D,直 2020-06-06 …
在梯形ABCD中,AB∥DC,上底AB=acm,下底DC=12cm,高AE=6cm,求梯形的面积与 2020-06-07 …
以下叙述中不正确的事A在不同的函数中可以使用相同名字的变量B函数中的形式参数是局部变量C在一个函数 2020-06-19 …
请教MFC绘制直线橡皮筋效果CClientDCdc(this);dc.SelectObject(b 2020-07-21 …
已知梯形ABCD中AD平行于BCAD小于BC且AD=5AB=DC=2如果点P在AD边上移动,CP与 2020-08-02 …
(2014•烟台)如图,点A(m,6),B(n,1)在反比例函数图象上,AD⊥x轴于点D,BC⊥x 2020-08-03 …
急:一道关于一次函数的题矩形DC的边AB=5厘米,BC=4厘米,动点P从A点出发,在折线AD-DC- 2020-11-04 …