您的位置:首页 > 其它

windows画图常用函数

2012-06-08 21:04 435 查看

SetPixel()

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

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

hdc

  设备环境句柄。

X

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

Y

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

crColor

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

详见:http://baike.baidu.com/view/1080396.htm
//-------------------------------------------------------------------------------

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,则不保存上一个点的位置

详见:http://baike.baidu.com/view/1882859.htm?fromTaglist

//---------------------------------------------------

Lineto()

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

  WINGDIAPI BOOL WINAPI LineTo(

  HDC hdc,

  int X,

  int Y,

  );

  参数:

  hdc:设备场景句柄

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

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

详见:http://baike.baidu.com/view/2421478.htm

//---------------------------------------------------

SelectObject()

CPen* SelectObject( CPen* pPen );

  CBrush* SelectObject( CBrush* pBrush );

  virtual CFont* SelectObject( CFont* pFont );

  CBitmap* SelectObject( CBitmap* pBitmap );

  int SelectObject( CRgn* pRgn );

  CGdiObject* SelectObject( CGdiObject* pObject );

  函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。

  函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);

  参数:

  hdc:设备上下文环境的句柄。

  hgdiobj:被选择的对象的句柄,该指定对象必须由如下的函数创建。

  位图:CreateBitmap, CreateBitmapIndirect, CreateCompatible Bitmap, CreateDIBitmap, CreateDIBsection(只有内存设备上下文环境可选择位图,并且在同一时刻只能一个设备上下文环境选择位图)。

  画刷:CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。

  字体:CreateFont, CreateFontIndirect。

  笔:CreatePen, CreatePenIndirect。

  区域:CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect。

  返回值:如果选择对象不是区域并且函数执行成功,那么返回值是被取代的对象的句柄;如果选择对象是区域并且函数执行成功,返回如下一值;

  SIMPLEREGION:区域由单个矩形组成;COMPLEXREGION:区域由多个矩形组成。NULLREGION:区域为空。

  如果发生错误并且选择对象不是一个区域,那么返回值为NULL,否则返回GDI_ERROR。

  注释:该函数返回先前指定类型的选择对象,一个应用程序在它使用新对象进行绘制完成之后,应该用原始的缺省的对象替换新对象。

  应用程序不能同时选择一个位图到多个设备上下文环境中。

  ICM:如果被选择的对象是画笔或笔,那么就执行颜色管理。

  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

SelectObject()和DeleteObject()成对使用。

详见:http://baike.baidu.com/view/1080552.htm

//---------------------------------------------------

DeleteObject()

  函数功能:该函数删除一个逻辑笔、画笔、字体、位图、区域或者调色板,释放所有与该对象有关的系统资源,在对象被删除之后,指定的句柄也就失效了。

  函数原型:BOOL DeleteObject(HGDIOBJ hObject);

  参数:

  hObject:逻辑笔、画笔、字体、位图、区域或者调色板的句柄。

  返回值:成功,返回非零值;如果指定的句柄无效或者它已被选入设备上下文环境,则返回值为零。

  注释:当一个绘画对象(如笔或画笔)当前被选入一个设备上下文环境时不要删除该对象。当一个调色板画笔被删除时,与该画笔相关的位图并不被删除,该图必须单独地删除。

  Windows CE:当对象在当前被选入一个设备上下文环境时,DeleteObject函数返回错误。

  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

详见:http://baike.baidu.com/view/1080524.htm

//---------------------------------------------------

Polyline()

[声明]

  Declare Function Polyline Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long
[说明]

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

  函数原型:

  BOOL Polyline( HDC hdc, CONST POINT *lppt, int cPoints)

  [参数表]

  hdc ------------ Long,要在其中绘图的设备场景

  lpPoint -------- POINTAPI,nCount POINTAPI结构数组中的第一个POINTAPI结构

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

  [返回值]

  Long,非零表示成功,零表示失败

详见:http://baike.baidu.com/view/1477217.htm

//---------------------------------------------------


PolylineTo()

函数原型:

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

  参数:

  hdc:设备场景句柄

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

  cpt:Point数组中的点数

  说明:

  和PolyLine不同,PolyLineTo使用目前位置作为开始点,并将目前位置设定为最后

  一根线的终点,根据apt的点依次画直线。设置目前位置可调用MoveToEx函数.

详见:http://baike.baidu.com/view/6280924.htm

//---------------------------------------------------

函数
图形
Rectangle

直角矩形

Ellipse

椭圆

RoundRect

圆角矩形

Chord

椭圆周上的弧,两端以弦连接

Pie

椭圆上的饼图

Polygon

多边形

PolyPolygon

多个多边形

//---------------------------------------------------

Rectangle()

函数原型:BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);

  参数:

  hdc:设备环境句柄。

  nLeftRect:指定矩形左上角的逻辑X坐标。

  nTopRect:指定矩形左上角的逻辑Y坐标。

  nRightRect:指定矩形右下角的逻辑X坐标。

  nBottomRect:指定矩形右下角的逻辑Y坐标。

  返回值:如果函数调用成功,返回值非零,否则返回值为0。

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

  备注:此函数不使用和改变当前位置。

  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

  示例:

  Rectangle(hdc,0,0,100,100);

详见:http://baike.baidu.com/view/1080744.htm

//--------------------------------------------------

Ellipse()

函数功能:该函数用于画一个椭圆,椭圆的中心是限定矩形的中心,使用当前画笔画椭圆,用当前的画刷填充椭圆。

  函数原型:BOOL Ellipse(HDC hdc,int nLeftRect,int nTopRect,nRightRect,int nBottomRect).

  参数:

  hdc:设备环境句柄。

  nLeftRect:指定限定椭圆左上角的X坐标。

  nTopRect:指定限定椭圆左上角的Y坐标。

  nRightRect:指定限定椭圆右下角的X坐标。

  nBottomRect:指定限定椭圆右下角的Y坐标。

  返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是0。

//--------------------------------------------------

RoundRect()

函数功能:该函数画一个带圆角的矩形,此矩形由当前画笔画轮廓,由当前画刷填充。

  函数原型:BOOL RoundRect(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidth, int nHeight);

  参数:

  hdc:设备环境句柄。

  nLeftRect:指定矩形左上角的X坐标。

  nTopRect:指定矩形左上角的Y坐标。

  nRightRect:指定矩形右下角的X坐标。

  nbottomRect:指定矩形右下角的Y坐标。

  nWidth:指定用来画圆角的椭圆的宽。

  nHeight:指定用来画圆角的椭圆的高。

  返回值:如果函数调用成功,则返回值非空,否则返回值是0。

详见:http://baike.baidu.com/view/1080744.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: