## easy-x库常用函数
(1):与设备相关的函数
1.void clearcliprgn():用于清除种植区域。
2.void cleardevice():此功能用于清除绘图设备。具体地说,绘图设备将以当前背景色清空,并将当前点移动到(0,0)。
3.void closegraph();该功能用于关闭图形窗口
4.void getaspectratio(float *pxasp,float *pyasp):用于获取当前的长宽比
5.void graphdefaults():此功能用于将视图、当前点、绘图颜色、背景颜色、线条样式、填充样式、字体样式重置为默认。
6.HWND initgraph(int width,int height,int flag = NULL):此函数用于初始化图形窗口
7.void setaspectratio(float xasp, float yasp):本功能用于设置当前长宽比。
8.void setcliprgn(HRGN hrgn);此功能用于设置当前绘图设备的剪切区域。
9.void setorigin(int x, int y);该函数用于设置坐标原点。x
原点的x坐标(使用物理坐标)。y 原点的y坐标(使用物理坐标)。
(2):颜色模型相关函数
10.COLORREF BGR(COLORREF color):BGR宏用于交换红色和蓝色。
11.BYTE GetB(G|R)Value(COLORREF rgb):宏GetB(G|R)Value用于返回指定颜色的蓝(绿|红)色值。
12.COLORREF HSLtoRGB( float H, float S, float L):用于将HSL颜色转换为RGB颜色
13.COLORREF HSVtoRGB( float H, float S, float V):此函数用于将HSV颜色转换为RGB颜色
14.COLORREF RGB( BYTE Red,BYTE Green, BYTE Blue ):以三原色色彩体系定义一种颜色
15.COLORREF RGBtoGRAY(COLORREF rgb):用于返回与指定颜色对应的灰度颜色。
16.void RGBtoHSL(COLORREF rgb, float *H, float,*S,float *L):用于将RGB颜色转换为HSL颜色。
17.void RGBtoHSV(COLORREF rgb,float *H,float *S,float *V):用于将RGB颜色转换为HSV颜色
(3):画图相关函数
18.void arc( int left,int top, int right, int bottom, double stangle,double endangle):用来画弧线的
参数:
left
弧的外切矩形的左上纵坐标。
top
弧的外切矩形的左上纵坐标。
right
弧的外切矩形的右下x坐标。
bottom
弧的外切矩形的右下y坐标。
stangle
弧的起始角的弧度。
endangle
弧终止角的弧度。
19.void circle( int x,int y, int radius):画一个不填充的圆
参数:
x
圆心的x坐标。
y
圆心的y坐标。
radius
圆的半径。
20.void clearcircle( int x,int y, int radius):使用背景色清除圆形区域。
参数:
x
圆心的x坐标。
y
圆心的y坐标。
radius
圆的半径。
21.void clearellipse(int left, int top, int right,int bottom):使用背景色清除一个椭圆形区域
参数:
left
椭圆外切矩形的左上角x坐标。
top
椭圆外切矩形的左上角y坐标。
right
椭圆外切矩形的右下角x坐标。
bottom
椭圆外切矩形的右下角y坐标。
22.void clearpie( int left, int top, int right, int bottom,double stangle,double endangle):使用背景色清除扇区。
参数:
left
扇子所在的椭圆形的外切矩形的左上角x坐标。
top
风扇所在的椭圆形的外切矩形的左上纵坐标。
right
风扇所在的椭圆的外切矩形的右下x坐标。
bottom
风扇所在的椭圆的外切矩形的右下x坐标。
stangle
风扇的起始角度的弧度。
endangle
风扇端角的弧度。
23.void clearpolygon( const POINT *points, int num):使用背景色清除多边形区域。
参数:
points
每个点的坐标,数组元素的数量为num。
该函数自动将多边形连接到末端。
num
多边形顶点的数目。
24.void clearrectangle(int left, int top, int right, int bottom):使用背景色清除矩形区域。
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标。
25.void clearroundrect(int left,int top,int right,int bottom,int ellipsewidth,int ellipseheight):使用背景色清除圆角矩形区域。
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标
ellipsewidth
构成圆角矩形的椭圆的宽度。
ellipseheight
构成圆角矩形的椭圆的高度。
26.void ellipse( int left, int top, int right, int bottom):用于绘制不填充的椭圆。
参数:
left
椭圆外切矩形的左上角x坐标。
top
椭圆外切矩形的左上角y坐标。
right
椭圆外切矩形的右下角x坐标。
bottom
椭圆外切矩形的右下角y坐标。
27.void fillcircle(int x, int y, int radius):用于绘制带边框的填充圆。
参数:
x
中心的x坐标。
y
圆心的y坐标。
radius
圆的半径
28.void fillellipse( int left, int top, int right, int bottom):用于绘制带有边框的填充椭圆。
参数:
left
椭圆外切矩形的左上角x坐标。
top
椭圆外切矩形的左上角y坐标。
right
椭圆外切矩形的右下角x坐标s/he。
bottom
椭圆外切矩形的右下角y坐标s/he。
29.void fillpie( int left, int top, int right, int bottom, double stangle,double endangle):用于绘制带边框的填充扇区。
参数:
left
扇子所在的椭圆形的外切矩形的左上角x坐标。
top
y坐标位于风扇所在的椭圆形外切矩形的左上角。
right
风扇所在的椭圆的外切矩形的右下x坐标。
bottom
y坐标位于风扇所在的椭圆形外切矩形的右下角。
stangle
风扇的起始角度的弧度。
endangle
风扇端角的弧度。
30.void fillpolygon( const POINT *points, int num):该函数用于绘制带有边框的填充多边形。
参数:
points
每个点的坐标,数组元素的数量为num。
该函数自动将多边形连接到末端。
num
多边形顶点的数目。
31.void fillrectangle( int left, int top, int right, int bottom):用于绘制带有边框的已填充矩形。
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标。
32.void fillroundrect( int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight):绘制一个带边框的已填充圆角矩形。
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标。
ellipsewidth
构成圆角矩形的椭圆的宽度。
ellipseheight
构成圆角矩形的椭圆的高度。
33.void floodfill( int x, int y, COLORREF color, int filltype = FLOODFILLBORDER):用于填充区域。
参数:
x
要填满的区域内任意点的x坐标。
y
要填满的区域内任意点的y坐标。
color
要填充的边界或区域的颜色。确切的解释取决于参数filltype的值。
filltype
要执行的填充操作的类型。这可以是以下宏或值:
宏 value 描述
FLOODFILLBORDER 0 填充动作被填充在一个被颜色参数color包围的封闭区域中。
FLOODFILLSURFACE 1 填充动作由颜色参数color指定的连续颜色表面填充。
34.int getheight():用于获取绘制区域的高度
35.int getwidth():用于获取绘图区域的宽度
36.COLORREF getpixel(int x,int y):用于获取点的颜色。
参数:
x
x坐标来获得颜色。
y
y坐标来得到颜色。
37.void line( int x1, int y1, int x2, int y2):此函数用于绘制直线。函数linerel和lineto也可以用来绘制直线。
参数:
x1
直线起始点的x坐标。
日元
直线起始点的y坐标。
x2
直线端点的x坐标。
y2
直线端点的y坐标。
38.void pie( int left, int top, int right, int bottom, double stangle, double endangle):用于绘制未填充的扇区。
参数:
left
扇子所在的椭圆形的外切矩形的左上角x坐标。
top
风扇所在的椭圆形的外切矩形的左上纵坐标。
right
风扇所在的椭圆的外切矩形的右下x坐标。
bottom
风扇所在的椭圆形的外切矩形的右下y坐标。
stangle
风扇的起始角度的弧度。
endangle
风扇端角的弧度。
39.void polybezier( const POINT *points, int num):用于绘制三条方形贝塞尔曲线
参数:
points
描述三条方形贝塞尔曲线的坐标点。坐标为:起点、控制点1、控制点2、终点(起点)、控制点1、控制点2、终点(起点)、…,控制点2,终点2,终点。
num
坐标点的个数。由于描述一条三边Bezier曲线需要4个点,且后一条Bezier曲线的起点与前一条曲线的终点相同,因此确保(num - 1) 3 s 0是很重要的。
40.void polygon( const POINT *points, int num):用于绘制不填充的多边形
参数:
points
每个点的坐标,数组元素的数量为num。
该函数自动将多边形连接到末端。
num
多边形顶点的数目。
41.void polyline( const POINT *points, int num):用于绘制多条连续的直线。
参数:
points
每个点的坐标,数组元素的数量为num。
num
多个段的顶点数。
42.void putpixel( int x, int y, COLORREF color):用于绘制点
参数:
x
点的x坐标。
y
点的y坐标。
color
点的颜色。
43.void rectangle( int left, int top, int right, int bottom):用于绘制矩形
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标。
44.void roundrect( int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight):用于绘制不填充的圆角矩形。
参数:
left
矩形左边的x坐标。
top
矩形上端的y坐标。
right
矩形右边的x坐标。
bottom
矩形下端的y坐标。
ellipsewidth
构成圆角矩形的椭圆的宽度。
ellipseheight
构成圆角矩形的椭圆的高度
45.void solidcircle( int x, int y, int radius):用于绘制一个没有边框的填充圆。
46.void solidellipse( int left, int top, int right, int bottom):用于绘制一个填充的没有边框的椭圆。
47.void solidpie( int left, int top, int right, int bottom, double stangle, double endangle):用于绘制一个没有边框的填充扇区。
48.void solidpolygon( const POINT *points, int num):用于绘制填充的无边框多边形。
49.void solidrectangle( int left, int top, int right, int bottom):用于绘制一个填充的、没有边框的矩形。
50.void solidroundrect( int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight):用于绘制没有边框的填充圆角矩形。
(4)颜色和样式设置相关函数
51.class FILLSTYLE():填充样式对象
52.COLORREF getbkcolor():获取当前设备背景颜色
53.int getbkmode():用于获得打印图案和文本输出时的背景模式
54.COLORREF getfillcolor():获取当前填充色
55.void getfillstyle( FILLSTYLE* pstyle):获取当前填充样式
参数:
pstyle
返回当前填充样式。详情请参阅setfillstyle函数
56.COLORREF getlinecolor(): 获取当前设备画线颜色。
57.void getlinestyle( LINESTYLE* pstyle):获取当前设备划线颜色
58.int getpolyfillmode():用于获取当前设备的多边形填充图案。
59.int getrop2():用于获取当前前景混合模式。
60.class LINESTYLE():画线方式对象
61.void setbkcolor(COLORREF color):用于设置当前绘图的背景颜色
62.void setbkmode(int mode):用于设置当前设备文本输出时的背景模式。
63.void setfillcolor(COLORREF color):设置填充颜色
64.void setfillstyle( FILLSTYLE* pstyle)
void setfillstyle( int style, long hatch = NULL, IMAGE* ppattern = NULL)
void setfillstyle( BYTE* ppattern8x8):用于设置当前设备填充样式
65.void setlinecolor(COLORREF color):用于设置当前行的颜色。
66.void setlinestyle( const LINESTYLE* pstyle)
void setlinestyle( int style, int thickness = 1, const DWORD *puserstyle = NULL, DWORD userstylecount = 0):用于设置当前设备画线样式。
67.void setpolyfillmode(int mode):用于设置当前设备的多边形填充模式。
(5)文本相关函数
68.int drawtext( LPCTSTR str, RECT* pRect, UINT uFormat)
int drawtext( TCHAR c, RECT* pRect, UINT uFormat):用于在指定区域内以指定格式输出字符串。
参数:
str
要输出的字符串。
pRect
指向指定矩形区域的指针。一些uFormat标志使用这个矩形区域来生成一个返回值。稍后查看详细信息。
uFormat
指定如何格式化输出文本。稍后查看详细信息。
c
要输出的字符。
69.COLORREF gettextcolor():用于获取当前文本的颜色。
70.void gettextstyle(LOGFONT *font):用于获取当前文本样式。
参数:
字体指向LOGFONT结构的指针。
71.void outtextxy( int x, int y, LPCTSTR str)
void outtextxy( int x, int y, TCHAR c):用于在指定位置输出字符串。
参数:
x
字符串输出时x轴上第一个字母的坐标值。
y
字符串输出时第一个字母y轴的坐标值。
str
指向要输出字符串的指针。
c
要输出的字符。
72.void settextcolor(COLORREF color):用于设置当前文本的颜色。
73.void settextstyle(const LOGFONT *font)
void settextstyle( int nHeight, int nWidth, LPCTSTR lpszFace):用于样式化当前字体
74.int textheight(LPCTSTR str)
int textheight(TCHAR c):用于获取字符串实际占用的像素高度。
75.int textwidth(LPCTSTR str)
int textwidth(TCHAR c):用于获取字符串实际占用的像素的宽度。
(6)图像相关函数
76.void getimage( IMAGE* pDstImg, int srcX,int srcY, int srcWidth, int srcHeight):用于从当前绘图设备获取图像。
参数:
pDstImg
保存图像的图像对象指针。
srcX
获取图像区域左上角的x坐标。
srcY
获取图像区域左上角的y坐标。
srcWidth
得到的面积的宽度。
srcHeight
得到的面积的高度。
77.DWORD* GetImageBuffer(IMAGE* pImg = NULL):用于获取绘图设备的显示缓冲区指针。
参数:
pImg
绘图设备指针。如果为空,表示默认图形窗口。
78.HDC GetImageHDC(IMAGE* pImg = NULL):用于获取绘图设备句柄(HDC)。
79.IMAGE* GetWorkingImage():用于获取当前的绘图设备。
80.class IMAGE(int width = 0, int height = 0):图像对象
81.void loadimage(
IMAGE* pDstImg, //保存图像的图像对象指针
LPCTSTR pImgFile, //图片文件名
int nWidth = 0, //图片的拉伸宽度
int nHeight = 0, //图片的拉伸高度
bool bResize = false //是否调整图像大小以适应图片
):用于从文件中读取图像
82.void putimage (
int dstX, //绘制位置的X坐标
int dstY, //绘制位置的Y坐标
IMAGE *pSrcImg, //图像对象指针绘制
DWORD dwRop = srccopy //三元光栅操作码
):用于在当前设备上绘制指定的图像。
83.void Resize(
IMAGE* pImg,
int width,
int height
):用于调整指定绘图设备的尺寸。
参数:
pImg
指定要调整大小的绘图设备。如果为空,则为默认图形窗口。
width
指定绘图设备的宽度。
height
指定绘图设备的高度。
84.void rotateimage(
IMAGE *dstimg,
IMAGE *srcimg,
double radian,
COLORREF bkcolor = BLACK,
bool autosize = false,
bool highquality = true
):用于在图像中旋转绘制的内容
参数:
dstimg
指定目标图像对象指针来保存旋转后的图像。
srcimg
指定指向原始图像对象的指针。
radian
指定旋转的弧度。
bkcolor
指定旋转后创建的空格的颜色。默认为黑色。
autosize
指定目标图像对象是否自动调整大小以完全适应旋转后的图像。默认为false。
highquality
指定是否使用高质量旋转。在追求绩效时使用低质量的轮换。默认为true。进入翻译页面
85.void saveimage(
LPCTSTR strFileName,
IMAGE* pImg = NULL
):用于将绘图内容保存到图片文件中。
参数
strFileName
指定文件名。文件扩展名表示保存的图片格式,支持bmp /gif/jpg/png/tif格式。现有文件将被覆盖。
pImg
指向IMAGE对象的指针。如果为空,表示图形窗口。
86.void SetWorkingImage(IMAGE* pImg = NULL):用于设置当前的绘图设备。
参数
pImg
绘图设备指针。如果为空,绘图设备是默认的图形窗口。
(7)鼠标相关函数
87.void FlushMouseMsgBuffer():用于清空鼠标消息缓冲区
88.MOUSEMSG GetMouseMsg():用于获取鼠标消息。如果鼠标消息队列为空,等待直到有鼠标消息。
89.bool PeekMouseMsg(MOUSEMSG *pMsg, bool bRemoveMsg):用于获取鼠标消息并立即返回。
90.bool MouseHit():用于检查鼠标消息
91.struct MOUSEMSG
{
UINT uMsg; //当前鼠标信息。
bool mkCtrl; //按下CTRL键。
bool mkShift; // SHIFT键为down。
bool mkLButton;//鼠标左键按下。
bool mkMButton;//鼠标中键是向下的。
bool mkRButton;//点击鼠标右键。
int x;//光标的x坐标。(物理坐标)
int y;//光标的y坐标。(物理坐标)
int wheel;//鼠标滚轮滚动值。
}:用于保存鼠标消息
(8):其他函数
92.void BeginBatchDraw():用于开始批量绘图模式。在执行之后,任何绘图操作将暂时不输出到图形窗口,直到调用函数flushBatchDraw或EndBatchDraw。
93.void EndBatchDraw()
void EndBatchDraw(
int left,
int top,
int right,
int bottom ):结束批量绘制模式,刷新未显示的图形
参数:
left
指定区域的左x坐标。
top
指定区域的顶部y坐标。
right
指定区域的右x坐标。
bottom
指定区域的底部y坐标
94.void FlushBatchDraw()
void FlushBatchDraw(
int left,
int top,
int right,
int bottom
):用于刷新未显示的图形
参数:
left
指定区域的左x坐标。
top
指定区域的顶部y坐标。
right
指定区域的右x坐标。
bottom
指定区域的底部y坐标
95.HWND GetHWnd():用于获取图形窗口的句柄
96.bool InputBox(
LPTSTR pString,
int nMaxCount,
LPCTSTR pPrompt = NULL,
LPCTSTR pTitle = NULL,
LPCTSTR pDefault = NULL,
int width = 0,
int height = 0,
bool bHideCancelBtn = true
):用于以对话框的形式获取用户输入。