MFC中的绘图

MFC的绘图
  1 相关类
      1,1 绘图设备类
      CDC类 - 提供了绘图设备的基本功能
           CWindowDC类 - 父类是CDC类,主要表示指定的窗口,包括客户区和非客户区
CClientDC
CPaintDC
CMetaFileDC.保存图形的绘制的代码,以便将来多次使用




CDC类的使用
   创建DC
    virtual BOOL CreateDC
(


    LPCTSTR lpszDriveName,
LPCTSTR lpszDeviceName,
LPCTSTR lpszOutput, //设备的接口
const void* lpInitData // 初始化数据
) ;


如果表示显示器
     CreateDC("DISPLAY",NULL,NULL,NULL)
使用
   在设备绘图,输出字符等操作
   MoveTo/LineTo/TextOut
   删除DC
   CDC:DeleteDC,
   
   
   绘图对象类的使用
       3.1 画笔,画刷和字体的使用步骤
      3.1.1 创建绘图对象
  3.1.2 将绘图对象选入到当前的绘图设备中
  3.1.3 使用绘图对象
  3.1.4 将绘图对象从当前的绘图设备中选出
  
  // 画笔的使用
  CPen pen(PS_SOLID,10,RGB(255,0,0));
  // 选入到绘图设备
  CClientDC dc(this);
  dc.SelectObject(&pen);
  CPen* pOldPen = dc.SelectObject(&pen);
  dc.Rectangle(100,100,300,300)
  
  ... 画刷的使用
  CBitmap bmp;
  bmp.LoadBitmap(..);
  CBrush brush(&bmp);
  
  // 字体的使用
  CFont font;
  font.CreatePointFont(1000,"黑体");
  CClientDC dc(this);
  CFont* pOldFont = dc.SelectObject(&font);
  dc.TextOut()
  dc.SelectObject(pOldFont);
  font.DeleteObject();
  
  
  位图.............
  
  CBitmap bmp;
  bmp.LoadBitmap(ID);
  CClientDC dc(this);
  CDC dcBmp;
  dcBmp.CreateCompatibleDC(&dc);
  dcBmp.SelectObject(&bmp);
  dcBmp.BitBlt(0,0,800,600,&dcBmp,0,0,SRCCOPY);
  // dcBmp.StretchBlt(0,0,800,600,&dcBmp,0,0,cx,cy,SRCCOPY);
  
  dcBmp.DeleteDC();
  bmp.DeleteObject();
  
  
 3.3 区域的使用步骤
      3.3.1 创建区域
     CRgn::CreateXXX
  3.3.2 CombineRgn
       CRgn rgn1,rgn2;
rgn1.CreateEllipticRgn(100,100,300,300);
rgn2.CreateEllipticRgn(200,100,400,300);




           
          1000 0000
                
   




   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值