赞
踩
基于Windows图形编程,将Windows下的复杂程序过程进行封装,仅给用户提供一个简单熟悉的接口。用户对于图形库中函数的调用,最终都会由Windows底层的API实现。
包含 EasyX 图形库的头文件
#include<graphisc.h> //老版 头文件 可以使用所有函数 #include<easyx.h> //新版 头文件 只能使用最新的函数
初始化窗口函数
函数原型
HWND initgraph( int width, int height, int flag = NULL );
width为所要创建窗口的宽,height为所要创建窗口的高,flag为绘图窗口的样式
flag默认为 NULL,也可以为
值 | 含义 |
---|---|
EX_DBLCLKS | 在绘图窗口中支持鼠标双击事件。 |
EX_NOCLOSE | 禁用绘图窗口的关闭按钮。 |
EX_NOMINIMIZE | 禁用绘图窗口的最小化按钮。 |
EX_SHOWCONSOLE | 显示控制台窗口。 |
列如
以下代码片段创建一个尺寸为 640x480 的绘图窗口:
initgraph(640, 480);
以下代码片段创建一个尺寸为 640x480 的绘图窗口,同时显示控制台窗口:
initgraph(640, 480, EX_SHOWCONSOLE);
以下代码片段创建一个尺寸为 640x480 的绘图窗口,同时显示控制台窗口,并禁用关闭按钮:
initgraph(640, 480, EX_SHOWCONSOLE | EX_NOCLOSE);
设置窗口背景颜色
设置颜色,宏定义
//RGB 宏用于将红、绿、蓝颜色分量合成颜色 COLORREF RGB( BYTE byRed, // 颜色的红色部分 BYTE byGreen, // 颜色的绿色部分 BYTE byBlue // 颜色的蓝色部分 );
byRed 颜色的红色部分,取值范围:0~255。
byGreen 颜色的绿色部分,取值范围:0~255。
byBlue 颜色的蓝色部分,取值范围:0~255。
设置当前设备绘图背景色,函数原型
void setbkcolor(COLORREF color);
color 指定要设置的背景颜色。
重绘窗口
使用当前背景色清空绘图设备,函数原型
void cleardevice();
关闭创建出来的窗口,函数原型为
void closegraph();
绘制点,函数原型
void putpixel( int x, int y, COLORREF color );
x为绘制点的横坐标,y为绘制点的纵坐标,color为绘制点的颜色
绘制直线,函数原型
void line( int x1, int y1, int x2, int y2 );
x1为绘制直线起点的横坐标,y1为绘制直线起点的纵坐标,x2为绘制直线终点的横坐标,y2为绘制直线终点的纵坐标。
绘制无填充矩形,函数原型
void rectangle( int left, int top, int right, int bottom );
left 为矩形左部 x 坐标,top 为矩形顶部 y 坐标,right 为矩形右部 x 坐标,bottom 为矩形底部 y 坐标
画有边框的填充矩形,函数原型
void fillrectangle( int left, int top, int right, int bottom );
left 为矩形左部 x 坐标,top 为矩形顶部 y 坐标,right 为矩形右部 x 坐标,bottom 为矩形底部 y 坐标
画无边框的填充矩形,函数原型
void solidrectangle( int left, int top, int right, int bottom );
left 为矩形左部 x 坐标,top 为矩形顶部 y 坐标,right 为矩形右部 x 坐标,bottom 为矩形底部 y 坐标
画无填充的圆,函数原型
void circle( int x, int y, int radius );
x 为圆心横坐标,y 为圆心纵坐标,radius 为园的半径
画有边框无填充的圆,函数原型
void fillcircle( int x, int y, int radius );
x 为圆心横坐标,y 为圆心纵坐标,radius 为园的半径
画无边框填充的圆,函数原型
void solidcircle( int x, int y, int radius );
x 为圆心横坐标,y 为圆心纵坐标,radius 为园的半径
设置文字类型
设置当前文字样式,函数原型
void settextstyle( int nHeight, int nWidth, LPCTSTR lpszFace );
nHeight 字体的高度,nWidth 字体的宽度 0为自适应,lpszFace 为字体的样式(电脑中有的字体样式的文件名,名字里不能出现空格)
设置当前设备图案填充和文字输出时的背景模式,函数原型
void setbkmode(int mode);
mode 指定图案填充和文字输出时的背景模式,可以是以下值:
值 | 描述 |
---|---|
OPAQUE | 背景用当前背景色填充(默认)。 |
TRANSPARENT | 背景是透明的。 |
设置文字颜色
设置当前文字颜色,函数原型
void settextcolor(COLORREF color);
color 要设置的文字颜色。
文字输出函数
在指定位置输出字符串,函数原型
void outtextxy( int x, int y, LPCTSTR str );
x 为要输出文件左上顶点的横坐标,y为要输出文件左上顶点的纵坐标,str 为要输出的字符串。
图片的加载
从文件中读取图像,函数原型
// 从图片文件获取图像(bmp/gif/jpg/png/tif/emf/wmf/ico) void loadimage( IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针 LPCTSTR pImgFile, // 图片文件名 int nWidth = 0, // 图片的拉伸宽度 int nHeight = 0, // 图片的拉伸高度 bool bResize = false // 是否调整 IMAGE 的大小以适应图片 );
图片的显示
用于在当前设备上绘制指定图像,函数原型
//No.1 // 绘制图像 void putimage( int dstX, // 绘制位置的 x 坐标 int dstY, // 绘制位置的 y 坐标 IMAGE *pSrcImg, // 要绘制的 IMAGE 对象指针 DWORD dwRop = SRCCOPY // 三元光栅操作码 ); //No.2 // 绘制图像(指定宽高和起始位置) void putimage( int dstX, // 绘制位置的 x 坐标 int dstY, // 绘制位置的 y 坐标 int dstWidth, // 绘制的宽度 int dstHeight, // 绘制的高度 IMAGE *pSrcImg, // 要绘制的 IMAGE 对象指针 int srcX, // 绘制内容在 IMAGE 对象中的左上角 x 坐标 int srcY, // 绘制内容在 IMAGE 对象中的左上角 y 坐标 DWORD dwRop = SRCCOPY // 三元光栅操作码 );
三元光栅操作码(即位操作模式),支持全部的 256 种三元光栅操作码,常用的几种如下:
值 | 含义 |
---|---|
DSTINVERT | 目标图像 = NOT 目标图像 |
MERGECOPY | 目标图像 = 源图像 AND 当前填充颜色 |
MERGEPAINT | 目标图像 = 目标图像 OR (NOT 源图像) |
NOTSRCCOPY | 目标图像 = NOT 源图像 |
NOTSRCERASE | 目标图像 = NOT (目标图像 OR 源图像) |
PATCOPY | 目标图像 = 当前填充颜色 |
PATINVERT | 目标图像 = 目标图像 XOR 当前填充颜色 |
PATPAINT | 目标图像 = 目标图像 OR ((NOT 源图像) OR 当前填充颜色) |
SRCAND | 目标图像 = 目标图像 AND 源图像 |
SRCCOPY | 目标图像 = 源图像 |
SRCERASE | 目标图像 = (NOT 目标图像) AND 源图像 |
SRCINVERT | 目标图像 = 目标图像 XOR 源图像 |
SRCPAINT | 目标图像 = 目标图像 OR 源图像 |
AND / OR / NOT / XOR 为布尔运算。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。