CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  图形处理/算法

两个图形编程基础问题

楼主falawang()2003-09-02 01:46:25 在 VC/MFC / 图形处理/算法 提问

问题一:  
  BOOL   CSampleView::OnEraseBkgnd(CDC*   pDC)  
  {  
   
  //设置brush为希望的背景颜色  
  CBrush   backBrush(RGB(255,   128,   128));  
   
  //保存旧的brush  
  CBrush*   pOldBrush   =   pDC->SelectObject(&backBrush);  
  CRect   rect;  
  pDC->GetClipBox(&rect);  
   
  //画需要的区域  
  pDC->PatBlt(rect.left,   rect.top,   rect.Width(),   rect.Height(),   PATCOPY);  
  pDC->SelectObject(pOldBrush);  
   
  return   TRUE;  
   
  }  
  上例中,为什么CBrush*   pOldBrush   =   pDC->SelectObject(&backBrush);是保存旧的brush,backBrush是新的brush啊?!而pDC->SelectObject(pOldBrush);又怎么说是释放bursh呢?  
   
  问题二:  
  1.   FirstDC     <-----这个dc是屏幕上的一个dc  
  2.   SecondDC   <-----这个dc,我们希望复制FirstDC里的东西,我们这样做:  
   
  {  
  CBitmap   TmpBitmap;  
  TmpBitmap.CreateCompatibleBitmap(&FirstDC,dcWidth,dcHeight);  
  CDC   SecondDC;  
   
  SecondDC.CreateCompatibleDC(&FirstDC);//如果没有这行,画上去的是黑图  
   
  SecondDC.SelectObject(TmpBitmap);  
  SecondDC.BitBlt(0,0,dcWidth,dcHeight,&FirstDC,0,0,SRCCOPY);  
  }  
  上例中,TmpBitmap.CreateCompatibleBitmap(&FirstDC,dcWidth,dcHeight);为什么需要CreateCompatibleBitmap(),没有这个操作行吗? 问题点数:60、回复次数:4Top

1 楼chanet(牧师)回复于 2003-09-02 01:55:40 得分 5

1.   用完   HDC   之后,要把它还原呀~   因为你只是要用它的一部分~  
  2.??Top

2 楼James0001(虾米—什么时候成大虾?)回复于 2003-09-02 07:37:53 得分 25

1.   SelectObject   设置新的brush,然后返回老的brush  
          然后操作完dc后,把老的brush设置回来。  
   
  2.   CreateCompatibleBitmap   用来创建一个位图。此位图用来存放   FirstDC   上内容的副本。Top

3 楼wkgenius()回复于 2003-09-02 10:51:10 得分 30

1、SelectObject   设置新的brush,返回以前的brush,在使用相关的brush操作完后,用上一次SelectObject的返回值作为参数,把以前的brush设置回来,就相当于释放当前的brush了。  
   
  2、CreateCompatibleBitmap创建一个与当前DC兼容的位图,在GDI中,一个设备都有特定的DC,比如显示器,或者打印机,都有自己的DC,这个概念像是C和C++中的输出终端。DC还描述了当前的一下物理信息,比如说输出设备是屏幕的话,就有一些窗口在屏幕的位置等信息。Top

4 楼falawang()回复于 2003-09-08 13:32:37 得分 0

明白,接分!Top

相关问题

  • TC图形模式下编程遇到的两个难题
  • vb图形编程问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 誰有《Windows图形编程》?
  • 求windows图形编程
  • 两个小问题(非编程基础)
  • 苏州.文化市场: 在两本 <Windows 图形编程> 上签了名
  • 保护模式下的图形编程
  • 图形编程的重大发现!!!!
  • VC图形编程的高手请进
  • VB图形编程(200分送上)

关键词

  • poldbrush
  • backbrush
  • pdc
  • selectobject
  • rect
  • 的brush
  • cbrush
  • 问题
  • 保存旧

得分解答快速导航

  • 帖主:falawang
  • chanet
  • James0001
  • wkgenius

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo