当前位置:文档之家› VC中图形编程的基础知识(1)

VC中图形编程的基础知识(1)

VC中图形编程的基础知识(1)
VC中图形编程的基础知识(1)

VC中图形编程的基础知识(1)

图形设备接口(GDI)是用于将应用程序与具体硬件相分离,使windows支持的应用程序在任何windows支持的图形输出设备上显示。

窗口应用程序输出图形的具体步骤:

(1)取得指定窗口的当前显示设备上下文。显示设备上下文是一个数据结构,包括窗口的参数及各种图形,文字属性,以及对以后的图形,文字输出的控制。

(2)选择用户坐标系及映射方式。

(3)设定用户坐标系中的观察窗口和设备坐标系中的显示视图。

(4)输出图形,文字和图像。

(5)释放所使用的显示设备上下文。

1 设备上下文的获取:

(1)在指定区域绘图的hdc:

在处理WM_PAINT消息时:

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps);

...

EndPaint(hwnd,&ps);

//其中HDC hdc; PAINTSTRUCT ps;

从BeginPaint获取设备上下文句柄hdc后,就可以在ps指出的rcPaint的矩形中绘图。EndPaint使这一区域有效。

(2)在整个用户区域绘图的hdc.

hdc=GetDC(hwnd);

...

RelaeseDC(hwnd,hdc);

(3)在整个窗口绘图的hdc的获取。

hdc=GetWindowDC(hwnd);

...

ReleaseDC(hdc);

(4)在整个显示器区域内绘图的hdc.

hdc=CreateDC(lpszDevice,lpszOutput,lpData);

...

ReleaseDC(hdc);

如要在屏幕上绘图,可调用:

hdc=CreateDC("DISPLAY",NULL,NULL,NULL);

使用打印机输出图形,可调用:

hdc=CreateDC("IBMGRX","IBM Graphics","LPT1",NULL);

//参数1:设备驱动的DOS文件名

//参数2:专用设备名

//参数3:物理输出介质的DOS文件名

//参数4:设备驱动程序中DEVMODE结构体中的初始化数据如不想获取设备上下文,只想得到其信息,可调用:

hdcInfo=CreateDC(lpszDevice,lpszOutput,lpData);

...

ReleaseDC(hdcInfo);

如想对位图的内存进行操作,如下:

hdcMem=CreateCompatiableDC(hdc);

...

DeleteDC(hdcMem);

相关主题
文本预览
相关文档 最新文档