programming windows

您所在的位置:网站首页 hdc怎么读 programming windows

programming windows

#programming windows | 来源: 网络整理| 查看: 265

5-2 设备环境 引言

如果希望在屏幕上绘制图形,则必须获取设备环境的句柄。当windows把这个句柄交给你的程序,就说明赋予你了这个设备的使用权限。

5-2-1获取设备环境句柄

1.使用BeginPaint和EndPaint函数。

hdc = BeginPaint(hwnd,&ps); ... EndPaint(hwnd,&ps);

ps结构体中有一个名为rcPaint的矩形结构,代表无效范围,也就是可以绘图的区域

2.处理非WM_PAINT消息时

hdc = GetDC(hwnd); ... ReleaseDC(hwnd,hdc);

GetDC返回的句柄可以在整个客户区内绘制

3.更通用的函数

hdc = CreateDC(pszDriver, pszDevice, pszOutput, pData); ... DeleteDC(hdc); 5-2-2 获取设备环境的信息

1、

iValue = GetDeviceCaps(hdc, iIndex);

根据iIndex的值不同返回不同的信息。例如,当iIndex为HORZRES时,返回显示器宽度像素,或者打印机显示区域的宽度。

5-2-4 设备的尺寸

1、调用GetSystemMetrics(SM_CXSCREEN或SM_CYSCREEN)获得显示器的像素规模 2、传统的排版中,字体一磅即1/72英寸,字体的大小就是头到脚的距离(不包括重音符号),10磅即10/72英寸高度。 3、小字体和大字体。 小字体表示每英寸96像素,大字体表示每英寸120个像素,所以10磅的字体可能有不同像素数。 小字体是96 x 10/72像素, 大字体是120 x 10/72像素。 4、GetDeviceCaps可以获得以每英寸像素点数为单位的假定分辨率。 需要使用两个参数,LOGPIXELSX,LOGPIXELSY,基本含义是以每英寸像素数计算的非实际分辨率。 5、计算字体大小公式 : 水平尺寸 = 25.4 x (/(第4步计算出来的像素数))

5-2-5 色彩ABC

1、每个像素的颜色位数可以用iBitsPixel = GetDeviceCaps(hdc, BITSPIXEL)来获得

5-2-6 设备环境属性 5-2-7保存设备环境

1、idSaved = SaveDC(hdc); 保存设备环境

RestoreDC(hdc,idSaved);

可以返回保存的设备环境 2、可以不用返回值SaveDC(hdc) 然后使用RestoreDC(hdc,-1)使设备环境恢复到最近一次保存的状态

5-3点和线的绘制 5-3-1设定像素

1.SetPixel(hdc, x, y, crColor)将x,y点设置为某个特定的颜色 相对应的 ceColor = GetPixel(hdc,x,y );

5-3-2 直线 为了画一条直线,需要调用两个函数,一个用来确定起点,一个用来确定终点.

MoveToEx(hdc, xBeg, yBeg, NULL); LineTo(hdc, xEnd, yEnd);

获取当前位置 GetCurrentPositionEx(hdc, &pt) Draw lines over an array of points POINT apt[5] = {100, 100, 200, 100, 200, 200, 100, 200, 100, 100}


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3