《Windows 程序设计》学习笔记(五) (转)

本文介绍了Windows环境下使用GDI函数进行图形绘制的基础知识。包括设备环境句柄的获取与释放、设备环境属性的保存与恢复,以及如何利用GDI对象进行绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Windows 程序设计》学习笔记(五) (转)[@more@]

第五章  图形基础(一)-----基础知识

  前面几章涉及了一些在窗口客户绘制图形的知识和运用,本章比较详细的讲解了图形绘制的基本原理和运用。
  windows提供了几百个GDI函数,我们通过调用GDI函数在Windows上进行各种绘图操作。GDI使我们的绘图与设备无关,也就是说可以在Windows支持的任意一种输出设备上绘图而不用考虑这些设备的特性。
  几乎每一个GDI函数都需要一个设备环境(DC)的句柄作为参数,设备环境中包括许多确定GDI函数如何在设备上工作的当前属性,比如:字体,文本色,线的颜色,线的粗细等。要获得设备环境中的这些信息,可以用GetDeviceCaps()函数。
  每一个绘图的过程都是如下面的顺序来进行的:
  获取一个设备环境句柄 ----&gt 利用设备环境句柄和GDI函数进行绘图 ----&gt  释放设备环境句柄
  Windows提供了几种获取和释放设备环境句柄的方法:
 
  A)在处理WM_PAINT时
  hdc = BeginPaint(hwnd, &ps);
  [ other program lines ]
  EndPaint(hwnd, &ps);(在前面的章节经常用到)
 
  B)在处理非WM_PAINT时
  hdc = GetDC(hwnd);
  [ other program lines ]
  ReleaseDC(hwnd, hdc);
 
  C)获得整个窗口的设备环境句柄
  hdc = GetWindowDC(hwnd);
  [ other program lines ]
  ReleaseDC(hwnd, hdc);
 
  D)获得整个屏幕的设备环境句柄
  hdc = CreateDc(TEXT("DISPLAY", NULL, NULL, NULL);
 
  E)只获取整个屏幕的设备环境句柄而不绘图
  hdc = CreateIC(TEXT("DISPLAY", NULL, NULL, NULL);

  某些情况下,我们需要改变某些设备环境的属性,用改变后的属性进行绘图,然后恢复原来的设备环境。可以通过下面的函数来保存现在的设备环境:
  idSaved = SaveDC(hdc);
  然后用下面的函数恢复原来的设备环境:
  RestoreDC(hdc, idSaved);
  或者用下面的方法实现同样的功能:
  SaveDC(hdc);
  RestoreDC(hdc, -1);

  Windows提供了一些GDI对象(画笔,刷子等),我们可以创建这些对象把它们选入设备环境中,Windows就可以用这些对象绘制各种图形了。
 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992866/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-992866/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值