先上示例代码: CDC* pdc=GetDC();
CDC dcmem;
dcmem.CreateCompatibleDC(pdc); CBitmap MemBitmap,*pOldBit;
MemBitmap.CreateCompatibleBitmap(pdc,cx,cy);
pOldBit=dcmem.SelectObject(&MemBitmap);
……
我想这几行代码我不写各位也都很清楚,不过还是贴出来更明白。以前我刚接触的时候,有人把这个MemBitmap比作是画布,没有画布怎么画画。当时也没弄明白,全当规矩记住的。
后来我知道CBitmap 对象里存着位图。稍微明白点了。
现在又想想,那CDC对象的内存本身为什么不是“画布”?这块内存有多大? CBitmap MemBitmap做“画布”dcmem.CreateCompatibleDC(pdc) 所创建的“容器”到底是起个什么作用? 他装的是什么呀
CDC dcmem;
dcmem.CreateCompatibleDC(pdc); CBitmap MemBitmap,*pOldBit;
MemBitmap.CreateCompatibleBitmap(pdc,cx,cy);
pOldBit=dcmem.SelectObject(&MemBitmap);
……
我想这几行代码我不写各位也都很清楚,不过还是贴出来更明白。以前我刚接触的时候,有人把这个MemBitmap比作是画布,没有画布怎么画画。当时也没弄明白,全当规矩记住的。
后来我知道CBitmap 对象里存着位图。稍微明白点了。
现在又想想,那CDC对象的内存本身为什么不是“画布”?这块内存有多大? CBitmap MemBitmap做“画布”dcmem.CreateCompatibleDC(pdc) 所创建的“容器”到底是起个什么作用? 他装的是什么呀
,以前我也搞不明白要这样!
=======>像素要放的地方
后来我知道CBitmap 对象里存着位图。稍微明白点了。===>按照CBitmap设置MemBitmap
现在又想想,那CDC对象的内存本身为什么不是“画布”?这块内存有多大?
=====>将画布打印出去(印刷机),内存和CBitmap一样大 CBitmap MemBitmap做“画布”dcmem.CreateCompatibleDC(pdc) 所创建的“容器”到底是起个什么作用? 他装的是什么呀=====>将画布内容设定到印刷机中====>比俞是有缺陷的