• 做一个幸福的人,读书,旅行,努力工作,关心身体和心情。
  • 不管有没有人爱,也要努力做一个可爱的人。不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。

Windows编程笔记之(七)——画线画点

Win32编程 lcq 5年前 (2013-09-08) 550次浏览 0个评论

SetPixel

简介

函数功能:该函数将指定坐标处的像素设为指定的颜色。

函数原型:COLORREF SetPixel(HDC hdc, int X, int Y, COLORREF crColor);

参数

Hdc:设备环境句柄。

X:指定要设置的点的X轴坐标,按逻辑单位表示坐标。

Y:指定要设置的点的Y轴坐标,按逻辑单位表示坐标。

crColor:指定要用来绘制该点的颜色。

返回值

如果函数执行成功,那么返回值就是函数设置像素的RGB颜色值。这个值可能与crColor指定的颜色有所不同,之所以有时发生这种情况是因为没有找到对指定颜色进行真正匹配造成的。

如果函数失败,那么返回值是-1。

Windows NT:若想获得更多的错误信息,请调用GetLastError函数。

备注

如果像素点坐标位于当前剪辑区之外,那么该函数执行失败。

不是所有设备都支持SetPixel函数。有关详情,请参考GetDeviceCaps。

 

MoveToEx

本函数将当前绘图位置移动到某个具体的点,同时也可获得之前位置的坐标

WINGDIAPI BOOL WINAPI MoveToEx(

HDC hdc,

int X,

int Y,

LPPOINT lpPoint

);

参数:

HDC hdc:传入参数,设备上下文句柄。

int X:传入参数:新位置的X坐标。

int Y:传入参数:新位置的Y坐标。

LPPOINT lpPoint:传出参数:一个指向POINT结构的指针,用来存放上一个点的位置,若此参数为NULL,则不保存上一个点的位置

返回值:

返回TRUE代表移动成功,FALSE代表失败,用GetLastError获得更具体的错误信息

 

LineTo

用当前画笔画一条线,从当前位置连到一个指定的点。这个函数调用完毕,当前位置变成x,y

WINGDIAPI BOOL WINAPI LineTo(

HDChdc,

intX,

intY,

);

参数:

hdc:设备场景句柄

X:线段终点X坐标位置,采用逻辑坐标表示。这个点不会实际画出来;它不属于线段的一部份

Y:线段终点Y坐标位置,采用逻辑坐标表示。这个点不会实际画出来;它不属于线段的一部份

返回值:

返回TRUE代表移动成功,FALSE代表失败

 

polyline

声明

Declare Function Polyline Lib “gdi32” (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long

说明

用当前画笔描绘一系列线段。使用PolylineTo函数时,当前位置会设为最后一条线段的终点。它不会由Polyline函数改动

函数原型:

BOOL Polyline( HDChdc, CONST POINT*lppt, intcPoints)

参数表

hdc:要在其中绘图的设备场景

lpPoint:结构数组中的第一个POINTAPI结构

nCount:数组中的点数。会从第一个点到第二个点画一条线,以次类推

返回值

bool:非零表示成功,零表示失败

 

PolylineTo

函数原型:

BOOL PolyLineTo(HDC hdc, CONST POINT * apt, DWORD cpt);

参数:

hdc:设备场景句柄

apt:nCount POINTAPI结构数组中的第一个POINTAPI结构

cpt:Point数组中的点数

说明:

和PolyLine不同,PolyLineTo使用目前位置作为开始点,并将目前位置设定为最后一根线的终点,根据apt的点依次画直线。设置目前位置可调用MoveToEx函数.

执行结果:


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Windows编程笔记之(七)——画线画点
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址