您的位置:首页 > 其它

CDC与HDC中StretchBlt()和BitBlt()函数用法

2011-08-17 11:18 330 查看
CDC中

////////////////////////////////////////////////////

CDC->StretchBlt(int x,int y,int nWidth,int nHeight,CDC *pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight,DWORD dwRop)

////////////////////////////////////////////////////

CDC->BitBlt(int x, int y, int nWidth,int nHeight,CDC *pSrcDC, int xSrc, int ySrc,DWORD dwRop)

////////////////////////////////////////////////////

HDC中

////////////////////////////////////////////////////

1.

HDC.StretchBlt(HDC hDestDC, int xDest,int yDest,int nDestWidth,int nDestHeight,DWORD dwRop)

2.

HDC.StretchBlt(HDC hDestDC, const RECT &rectDest,DWORD dwRop)

3.

HDC.StretchBlt(HDC hDestDC, int xDest,int yDest,int nDestWidth,int nDestHeight,, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop)

4.

HDC.StretchBlt(HDC hDestDC, const RECT &rectDest,const RECT &rectSrc, DWORD dwRop)

////////////////////////////////////////////////////

1.

HDC.BitBlt(HDC hDestDC, int xDest,int yDest,DWORD dwRop)

2.

HDC.BitBlt(HDC hDestDC, const POINT &pointDest,DWORD dwRop)

3.

HDC.BitBlt(HDC hDestDC, int xDest,int yDest,int nDestWidth,int nDestHeight,int xSrc, int ySrc, DWORD dwRop)

4.

HDC.BitBlt(HDC hDestDC, const RECT &rectDest, const POINT &pointSrc,DWORD dwRop)

//////////////////////////////////////////////////

pDC 是 类指针

HDC 是 windows句柄

/////////////////////////////////////

通过pDC获得hdc:

HDC hdc=pDC->GetSafeHdc();

/////////////////////////////////////

通过hdc获得pDC:

CDC *pDC=new CDC;

pDC->Attach(hdc);

////////////////////////////////////

补充:CImage

CImage image;

CRect m_rcShow;

CDC *pShowDC = m_bmpShow.GetDC(); //m_bmpShow为Picture控件变量

m_bmpShow.GetWindowRect(&m_rcShow);

image.Load(TEXT("e:\\1.jpg"));

//在picture控件里显示图片

image.Draw(pShowDC->m_hDC,0,0,m_rcShow.Width(),m_rcShow.Height(),

0,0,image.GetWidth(),image.GetHeight());

m_bmpShow.ReleaseDC(pShowDC);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: