VC的图形功能。
以下一段OnDraw(CDC *pDC)中的代码,显示包含入应用程序中的bmp图片IDR_BMP:
1. CClientDC dc(this);
2. CDC Mem_dc;
3. CBitmap bmp;
4. Mem_dc.CreateCompatibleBitmap(&dc);
5. bmp.loadBitmap(IDR_BMP);
6. Mem_dc.selectObject(&bmp);
7. dc.BitBlt(0,0,200,200,&Mem_dc,0,0,SRCCOPY);
为什么一定要做了第4句程序才能成功load IDR_BMP资源,设备文本描述表类CDC以及客户设备文本描述表类CClientDC实际是指内存区域吗?我是过去掉第1句,而将其他语句中出现dc的部分改为pDC,程序仍可顺利正确的执行,那么这里的pDC与dc有区别吗?还有就是要load图片必须先将图片导入程序成为其资源,我在第5句试图以:bmp.loadBitmap("d:\\photo\\snow.bmp")的形式load磁盘图片,编译连接通过,但执行的结果却无法load所指图片,那么要load磁盘鱼片应用什么函数(或应用什么方法).
另外,如果我用
struct tagBITMAP pBitmap;
bmp.GetBitmap(&pBitmap);
将取得的bmp对象所连接的bmp图片信息送入pBitmap这一BITMAP结构中,那么pBitmap->bmBits是否就是bmp图片的RGB数据区的第一个字节的首地址(指针),还是整个bmp图片数据(包括头结构)的首地址。
急,望明白的朋友帮我解解,也可发Email告诉我:sthdor2000@citiz.net