WindowsSDK编程学习日记(2)

2009年2月26日

 

GDI相关学习

 

GDI:图形设备接口

 

Windows下不允许直接访问输入输出硬件,而是提供了设备环境和图形设备接口进行操作,以不比关心具体硬件区别。

 

待解决:目前对视口、窗口的区别理解不深,对映射模式理解不深

 

windows下绘图的基本步骤就是:获取设备环境句柄(DC)、构建绘图工具(画刷、笔等)、将绘图工具选入设备环境(相应dc)、绘制图形、释放绘图工具以及设备环境句柄

 

 

  1. 获取句柄(DC的Handle)常用:BeginPaint(仅当处理WM_PAINT消息时应当使用),GetDC(任何时候使用)。使用到PAINTSTRUCTURE,这是一个传出参数,不需要初始化初值。对于设备环境句柄,当前可以通俗的理解成,它代表了即将绘图的区域,即画布。
  2. 构建绘图工具:可以使用系统预定义(使用GetStockObject),也可以自己构造,CreateSolidBrush、CreatePen等函数
  3. 选入设备环境:用SelectObject函数。笔将勾勒所画图形边缘,画刷将填充内部。
  4. 绘制:直线、折现、椭圆、弧等等均有相应函数对应。
  5. 释放:DeleteObject释放绘图工具。而EndPaint和ReleaseDC分别对应两种获取DC的方式。

需要熟悉常用函数名字

 

 

 

 

图形与文本在Windows中没有明显的界限

 

文本的操作一样分三步:获取文本句柄,设置文本形体,将字体选入dc

 

字体分为物理字体和逻辑字体,逻辑字体可以精确标度,因此使用广泛

 

Windows提供7中预定义字体(可在GetStockObject函数中查到),SYSTEM是缺省字体

 

CreateFont创建字体,多数参数0代表默认。其中字符集和字体比较重要

 

设置字体颜色的函数为SetTextColor,背景:SetBkColor

 

  •  

     

     

    获取字体信息:GetTextMetrics(hdc,&tm)

    tm储存了返回的字体信息

    确定后续文本坐标:GetTextExtentPoint32

    lpSize返回字符串字体的高度和宽度

    文本输出:常用TextOut

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值