CImage::Draw函数的问题 如何可以用Draw函数把图像数据写入到一个内存DC设备里。我创建了一个MemoryDC和CBitmap的DC,并且把bitmap选入了Memory里面了但是怎么可以把CImage对象里的图象用Draw方法绘制到这个bitmap里VCCImageDraw图形 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个内存DC的类,用这个类去画吧。class CMemDC : public CDC {private: CBitmap* mpBitmap; CBitmap* mpOldBitmap; CDC* mpDC; CRect mrcBounds;public: CMemDC(CDC* apDC, const CRect& arcBounds) : CDC() { CreateCompatibleDC(apDC); mpBitmap = new CBitmap; mpBitmap->CreateCompatibleBitmap(apDC, arcBounds.Width() + arcBounds.left, arcBounds.Height() + arcBounds.top); mpOldBitmap = SelectObject(mpBitmap); mpDC = apDC; mrcBounds = arcBounds; } ~CMemDC() { if(mpDC != NULL) { mpDC->BitBlt(mrcBounds.left, mrcBounds.top, mrcBounds.Width(), mrcBounds.Height(), this, mrcBounds.left, mrcBounds.top, SRCCOPY); } SelectObject(mpOldBitmap); if (mpBitmap != NULL) { delete mpBitmap; mpBitmap = NULL; } } void SetDC(CDC* apDC) { mpDC = apDC; } CMemDC* operator->() { return this; }}; 关于filetime的转换问题 怎樣將某個 element 一分為二? IE7中ActiveX有对话框销毁时失败 继承CButton类的问题 树视控件,如何双击展开,单击不会展开也不会收拢 哪个列表框控件支持checkbox? 怎样实现在程序所在的屏幕任何地方按右边出现选择菜单 中国软件怎么了?(小第拙见) 计算两线段的重叠区域(不简单哟!!!) ===200分问:Sql7事务处理问题(ODBC)?==== 对话框中如何使用CImage进行双缓存画图? 求教,StretchDIBits函数结果颜色不正确
class CMemDC : public CDC
{
private:
CBitmap* mpBitmap;
CBitmap* mpOldBitmap;
CDC* mpDC;
CRect mrcBounds;
public:
CMemDC(CDC* apDC, const CRect& arcBounds) : CDC()
{
CreateCompatibleDC(apDC);
mpBitmap = new CBitmap;
mpBitmap->CreateCompatibleBitmap(apDC, arcBounds.Width() + arcBounds.left, arcBounds.Height() + arcBounds.top);
mpOldBitmap = SelectObject(mpBitmap);
mpDC = apDC;
mrcBounds = arcBounds;
}
~CMemDC()
{
if(mpDC != NULL)
{
mpDC->BitBlt(mrcBounds.left, mrcBounds.top, mrcBounds.Width(), mrcBounds.Height(),
this, mrcBounds.left, mrcBounds.top, SRCCOPY);
}
SelectObject(mpOldBitmap);
if (mpBitmap != NULL)
{
delete mpBitmap;
mpBitmap = NULL;
}
}
void SetDC(CDC* apDC)
{
mpDC = apDC;
}
CMemDC* operator->()
{
return this;
}
};