标签:dev 错误 工作 cbitmap lfw sof copy 位图 结构体
根据MFC要操作图片的来源,可分为以下两类:
一、非动态显示图片
1.传送位图函数
CDC memDC; memDC.CreateCompatibleDC(pDC); CBitmap NewBitmap, * pOldBitmap; NewBitmap.LoadBitmap(IDB_BITMAP1);//从资源中导入位图 BITMAP bmpInfo;//声明BITMAP结构体 NewBitmap.GetBitmap(&bmpInfo);//获取位图信息 pOldBitmap = memDC.SelectObject(&NewBitmap);//将位图选入内存DC pDC->BitBlt(0, 0, 0, 0, &memDC, 0, 0, SRCCOPY);//将内存DC中的位图复制到设备DC
2.创建位图画刷
CBitmap NewBitmap; NewBitmap.LoadBitmap(IDB_BITMAP1);
CBrush NewBrush, *pOldBrush; NewBrush.CreatePatternBrush(&NewBitmap); pOldBrush = pDC->SelectObject(&NewBrush);
pDC->FillRect(CRect(0,0, nScrHalfWidth * 2, nScrHalfHeight * 2), &NewBrush);
pDC->SelectObject(pOldBrush);
二、动态载入图片
1.CImage
CImage 支持的图片格式有很多,像通常用的jpg,png,bmp,gif等。
HDC hDC; hDC = pDC->GetSafeHdc(); CImage img; img.Load(L"res/texture.bmp"); img.Draw(hDC, 0, 0, 100, 100);
补充:
GDI(图形设备接口(Graphics Device Interface)) 主要任务是负责系统与绘图程序之间的信息交换。在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI。GDI的出现使程序员无需要关心硬件设备及设备正常驱动,就可以将应用程序的输出转化为硬件设备上的输出和构成,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。
GDI绘图工具的基类,一般不能直接使用。其中CBitmap、CBrush、CFont、CPalette、CPen、CRgn等。
在使用GDI对象进行绘图时,需要遵循一下步骤:
(1)绘图开始前,创建一个新的GDI对象,并选入当前设备上下文,同时保存原GDI对象指针。
(2)使用新GDI对象绘图。
(3)绘图结束后,使用已保存的原GDI对象指针将设备上下文回复原状。
希望本文章能够帮助到您。如果文章中有错误或不足之处,希望您可以在评论区纠正,方便大家交流学习。
[1]孔令德. 计算机图形学基础教程.清华大学出版社,2008.
标签:dev 错误 工作 cbitmap lfw sof copy 位图 结构体
原文地址:https://www.cnblogs.com/YongKang-Guo/p/10540293.html