GDI相关函数

时间:2023-03-08 17:56:04
GetWindowRect计算窗口大小

MoveWindow 设置窗口大小

SetMapMode 该函数设置指定设备环境的映射方式 MM_LOMETRIC:每个逻辑单位转换为0.1毫米,X正方向向右,Y正方向向上。

GetMapMode 得到当前映射模式

LoadImage加载位图文件

LoadIcon加载图标文件

CreateCompatibleDC 创建兼容DC

DeleteDC释放内存DC

CreateDC 该函数通过使用指定的名字为一个设备创建设备上下文环境

BitBlt 贴图把内存DC的图片弄到窗口的DC上面显示

MSG 讯息结构

WNDCLASS 视窗类别结构

PAINTSTRUCT 绘图结构

RECT 矩形结构

HINSTANCE 执行实体(程序自身)代号

HWND 视窗代号

HDC 装置内容代号

HICON 图示代号

HCURSOR 滑鼠游标代号

HBRUSH 画刷代号

HPEN 画笔代号

HBITMAP 位图对象

HDC 内存DC

DrawText 显示字串  TEXTOUT 显示文本字串

SetTextAlign 显示的字符串是否居中

SetTextColor 设置指定设备环境(HDC)的字体颜色

SetBkColor 设置打印出的文本字符串背景颜色

SetBkMode 设置文本透明度
SelectObject 选用对象(比如字体 画刷 画笔等等)
DeleteObject删除对象
////////////////////////////////////////////////////
GetDc 得到窗口图像描述表或者hdc
ReleaseDC 在处理完该图像设备描述句柄后用这函数返回
ValidateRect 然后在调用这个函数使窗口有效
/////////////////////////////////////////////////////////////坐标函数 GetClientRect 该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对窗口客户区的左上角而言的,因此左上角坐标为(,) ClientToScreen 该函数将指定点,或者矩形的用户坐标转换成屏幕坐标 ScreenToClient 该函数把屏幕上指定点的屏幕坐标转换成用户坐标 GetWindowRect 该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
//////////////////////////////////////////////////
函 数 说 明
CreateBrushIndirect 在一个LOGBRUSH数据结构的基础上创建一个刷子
CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)
CreateDIBPatternBrushPt 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)
CreateHatchBrush 创建带有阴影图案的一个刷子(阴影图案见注解)
CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子
CreatePen 用指定的样式、宽度和颜色创建一个画笔
CreatePenIndirect 根据指定的LOGPEN结构创建一个画笔
CreateSolidBrush 用纯色创建一个刷子
ExtCreatePen 创建一个扩展画笔(装饰或几何)
GetStockObject 创建一个自定义画刷 取得一个固有对象(Stock)。这是可由任何应用程序使用的windows标准对象之一
//////////////////////////////////////////////////////////
创建好画刷画笔后要选定要图形设备描述表中
SelectObject 选用画笔
DeleteObject删除画笔
////////////////////////////////////////////////////////// 函 数 说 明
DeleteObject 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放
EnumObjects 枚举可随同指定设备场景使用的画笔和刷子
GetCurrentObject 用于获得指定类型的当前选定对象
GetObjectAPI 取得对指定对象进行说明的一个结构。windows手册建议用GetObject 这个名字来引用该函数。GetObjectAPI在vb中用于避免与GetObject关键字混淆
GetObjectType 判断由指定句柄引用的GDI对象的类型
SelectObject 选用对象
DeleteObject删除对象
除了DeleteObject和SelectObject以外的其他函数用于从系统或指定设备场景中获取有关GDI对象的信息,一般不十分常用。 函 数 说 明
GetArcDirection 画圆弧的时候,判断当前采用的绘图方向
GetBkColor 取得指定设备场景当前的背景颜色
GetBkMode 针对指定的设备场景,取得当前的背景填充模式
GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置
GetMiterLimit 取得设备场景的斜率限制(Miter)设置——斜率限制是指斜角长度与线宽间的比率
GetNearestColor 根据设备的显示能力,取得与指定颜色最接近的一种纯色
GetPolyFillMode 针对指定的设备场景,获得多边形填充模式。
GetROP2 针对指定的设备场景,取得当前的绘图模式。这样可定义绘图操作如何与正在显示的图象合并起来
MoveToEx 为指定的设备场景指定一个新的当前画笔位置。
SetArcDirection 设置圆弧的描绘方向 SetBkColor 为指定的设备场景设置背景颜色。背景颜色用于填充阴影刷子、虚线画笔以及字符(如背景模式为OPAQUE)中的空隙。也在位图颜色转换期间使用。
SetBkMode 指定阴影刷子、虚线画笔以及字符中的空隙的填充方式
SetMiterLimit 设置设备场景当前的斜率限制
SetPolyFillMode 设置多边形的填充模式。
SetROP2 设置指定设备场景的绘图模式。与vb的DrawMode属性完全一致。 同VisualBasic相比较,API提供了功能更强大的绘图函数。大部分绘图函数的用法都非常简单明了,只要按其说明使用就可以,觉得没有必要我多加说明。 WindoesAPI绘图函数 函 数
CreateRectRgn 创建一个由点X1,Y1和X2,Y2描述的矩形区域 CreateEllipticRgn 创建一个椭圆区域 CreateRoundRectRgn 函数创建一个带圆角的矩形区域 CreatePolygonRgn 创建一个由一系列点围成的区域。windows在需要时自动将最后点与第一点相连以封闭多边形 CombineRgn 将两个区域组合为一个新区域 MoveToEx 设置线条光标初始位置
LineTo 用当前画笔画一条线,从当前位置连到一个指定的点
AngleArc 用一个连接弧画一条线,参考注解
Arc 画一个圆弧
ArcTo 画一个圆弧,并更新当前位置
CancelDC 取消另一个线程里的长时间绘图操作
Chord 画一条弦线(椭圆的平分线)
Ellipse 描绘一个椭圆,由指定的矩形围绕。椭圆用当前选择的画笔描绘,并用当前选择的刷子填充
FillRect 用指定的刷子填充一个矩形
FloodFill 用当前选定的刷子在指定的设备场景中填充一个区域。区域是由颜色crColor定义的
FrameRect 用指定的刷子围绕一个矩形画一个边框(组成一个帧),边框的宽度是一个逻辑单位
GetPixel 在指定的设备场景中取得一个指定像素的当前RGB值
InvertRect 通过反转每个像素的值,从而反转一个设备场景中指定的矩形
LineDDA 枚举指定线段中的所有点
Pie 画一个扇形
PolyBezier 绘一条或多条贝塞尔(Bezier)曲线。
PolyBezierTo 绘一条或多条贝塞尔(Bezier)曲线,并将当前画笔位置设为前一条曲线的终点
PolyDraw 描绘一条复杂的曲线,由线段及贝塞尔曲线组成
Polygon 描绘一个多边形,由两点或三点的任意系列构成。windows会将最后一个点与第一个点连接起来,从而封闭多边形。多边形的边框用当前选定的画笔描绘,多边形用当前选定的刷子填充
Polyline 用当前画笔描绘一系列线段。使用PolylineTo函数时,当前位置会设为最后一条线段的终点。它不会由Polyline函数改动
PolylineTo 同上,并设置当前画笔位置用当前选定画笔描绘两个或多个多边形。根据由SetPolyFillMode 函数指定的多边形填充模式,用当前选定的刷子填充它们。每个多边形都必须是封闭的
PolyPolygon 用当前选定画笔描绘两个或多个多边形。根据由SetPolyFillMode函数指定的多边形填充模式,用当前选定的刷子填充它们。每个多边形都必须是封闭的
PolyPolyline 用当前选定画笔描绘两个或多个多边形
Rectangle 用当前选定的画笔描绘矩形,并用当前选定的刷子进行填充
RoundRect 用当前选定的画笔画一个圆角矩形,并用当前选定的刷子在其中填充。X3和Y3定义了用于生成圆角的椭圆
SetPixel 在指定的设备场景中设置一个像素的RGB值,并返回该点的颜色
SetPixelV 该函数将指定坐标处的像素设为指定的颜色 Win32 API其他绘图函数 函 数 说 明
DrawEdge 用指定的样式(包括3D效果)描绘一个矩形的边框
DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序(在vb里使用:能够使用。但由于Escape对设备有较强的依赖性,所以除非万不得以,尽量不要用它)
DrawFocusRect 画一个焦点矩形。这个矩形是在标志焦点的样式中通过异或运算完成的(焦点通常用一个点线表示)。如用同样的参数再次调用这个函数,就表示删除焦点矩形
DrawFrameControl 这个函数用于描绘一个标准控件。例如,可描绘一个按钮或滚动条的帧
DrawState 这个函数可为一幅图象或绘图操作应用各式各样的效果
GdiFlush 在绘图操作前注意队列。 执行任何未决的绘图操作。注释
GdiGetBatchLimit 判断有多少个GDI绘图命令位于队列中
GdiSetBatchLimit 指定有多少个GDI绘图命令能够进入队列
PaintDesktop 在指定的设备场景中描绘桌面墙纸图案 API 路径函数 函 数 说 明
AbortPath 抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任何路径的创建工作
BeginPath 启动一个路径分支。在这个命令后执行的GDI绘图命令会自动成为路径的一部分。对线段的连接会结合到一起。设备场景中任何现成的路径都会被清除。参考下表,其中列出的函数都可记录到路径中
CloseFigure 描绘到一个路径时,关闭当前打开的图形(将当前路径段转为闭图)
EndPath 停止定义一个路径。如执行成功,BeginPath函数调用和这个函数之间发生的所有绘图操作都会正式成为指定设备场景的路径
FillPath 关闭路径中任何打开的图形,并用当前刷子填充
FlattenPath 将一个路径中的所有曲线都转换成线段
GetPath 取得对当前路径进行定义的一系列数据
PathToRegion 将当前选定的路径转换到一个区域里
SelectClipPath 将设备场景当前的路径合并到剪切区域里
StrokeAndFillPath 针对指定的设备场景,关闭路径上打开的所有区域。用当前画笔描绘路径的一个轮廓,并用当前刷子填充路径
StrokePath 用当前画笔描绘一个路径的轮廓。打开的图形不会被这个函数