读书人

graphics CDC混用解决思路

发布时间: 2012-01-05 22:36:54 作者: rapoo

graphics CDC混用
GDI+ graphics CDC混用可以吗
我想用graphics在memDC上画,然后用bitblt,将memDC中的拷贝到pDC上,这种做法可行吗?
我写的好像不行的说,我想问下,是否GDi+在graphics上画的图,在graphics销毁掉之后就被清空了?

[解决办法]
当然可以.Graphics的其中一个构造函数就要求HDC的参数.
给你几个Sample看看:
1)
BOOL bCrate = CBitmap pobj->CreateCompatibleBitmap);
CDC MemDC.CreateCompatibleDC(NULL);
MemDC.SelectObject(CBitmap pobj);
Graphics graphic(MemDC.GetSafeHdc());
graphic.Clear(::Color::White);
graphic.DrawImage(Bitmap, left, top, right, bottom);
dc.BitBlt(0, 0, Width, Height, &MemDC, 0, 0, SRCCOPY);

2)
Graphics gs(dc.m_hDC);
SolidBrush sBrush(Color(255, 0, 1));
Pen curvePen(Color(255, 0, 1), 1.0);
gs.DrawLine(&curvePen, 1,1, 20, 20);
gs.DrawRectangle(&curvePen, Rect(0, 0, 100, 200));
gs.ReleaseHDC(dc.m_hDC);
[解决办法]
试试不就知道了

读书人网 >VC/MFC

热点推荐