赞
踩
今天要使用CDC进行位图缩放,将代码贴到这里,以后也许会用到。
这里除了缩放位图外,还将位图copy到了DIB的右下角,并将合成后的DIB缩放到给定的CDC对象上。
- int StretchDIBToDC(CDC* dc,
- CRect rcSrc /* 原RECT */,
- CRect rcDest /* 目标RECT */,
- CDib* printDib,
- BOOL bSetBltMode)
- {
- int ret = 0;
-
- // 加载图片
- CBitmap* pMemBitmap = new CBitmap;
- pMemBitmap->LoadBitmap(IDB_WEITU);
-
- // 创建原始DC
- CDC memDC;
- memDC.CreateCompatibleDC( prn_dc );
- memDC.SetTextAlign( TA_LEFT | TA_TOP );
- CBitmap* memOldBmp = memDC.SelectObject( pMemBitmap ); // 选择位图
-
- // 取得位图的信息
- BITMAP bmInfo;
- pMemBitmap->GetObject(sizeof(bmInfo),&bmInfo);
-
- // 位图缩放后的DC
- CDC maskDC;
- maskDC.CreateCompatibleDC( prn_dc );
- maskDC.SetTextAlign( TA_LEFT | TA_TOP );
-
- // 缩放后的位图大小
- int dcW = 397;
- int dcH = 87;
- CRect rect(0,0,dcW,dcH);
-
- // 为缩放的DC创建CBitmap对象,并使其选择该CBitmap对象
- CBitmap* pMaskBitmap = new CBitmap;
- pMaskBitmap->CreateCompatibleBitmap(pr

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。