EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VS2019,简单易用,学习成本极低,应用领域广泛。
目录 easyx的绘图设备相关函数颜色模型(宏定义)图形颜色及样式设置相关函数easyx的下载
easyx的绘图设备相关函数
cleardevice() 使用背景颜色清空绘图设备
void cleardevice();
initgraph() 初始化窗口
HWND initgraph(int width,int height,int flag = NULL);
width 绘图窗口的宽度
height 绘图窗口的高度
flag 绘图窗口的样式,默认值为NULL。
EW_DBLCLKS 在绘图窗口中支持鼠标双击事件。
EW_NOCLOSE 禁用绘图窗口的关闭按钮。
EW_NOMINIMIZE 禁用绘图窗口的最小化按钮。
EW_SHOWCONSOLE 显示控制台窗口。
以下代码会创建一个尺寸为640×480的绘图窗口,同时显示控制台,并禁用关闭按钮。
initgraph(640, 480, EW_SHOWCONSOLE | EW_NOCLOSE);
closegraph 关闭绘图窗口
getaspectratio 获取当前缩放因子
void getaspectratio(float *pxasp,float *pyasp);
pxasp 返回x方向上的缩放因子。
pyasp 返回y方向上的缩放因子。
setaspectratio 设置当前缩放因子
void setaspectratio(float xasp,float yasp);
xasp:x方向上的缩放因子。例如绘制宽度为100的矩形,实际的绘图宽度为100xasp。
yasp:y方向上的缩放因子。例如绘制宽度为100的矩形,实际的绘图宽度为100xasp。
graphdefaults 这个函数用于重置视图、当前点、绘图色、背景色、线形、填充样式、字体为默认值。
setorigin 这个函数用于设置坐标原点。
void setorigin(int x, int y);
x:原点的x坐标
y:原点的y坐标
setcliprgn 这个函数用于设置当前绘图设备的裁剪区
void setcliprgn(HRGN hrgn);
hrgn
区域的句柄。创建区域所使用的坐标为物理坐标。
如果该值为 NULL,表示取消之前设置的裁剪区。
注意:创建区域后,如果不再使用,请执行 DeleteObject(HRGN hrgn) 以释放该区域对应的系统资源。
示例:
#include <graphics.h>#include <conio.h>int main(){// 初始化绘图窗口initgraph(640, 480);// 创建一个矩形区域HRGN rgn = CreateRectRgn(100, 100, 200, 200);// 将该矩形区域设置为裁剪区setcliprgn(rgn);// 不再使用 rgn,清理 rgn 占用的系统资源DeleteObject(rgn);// 画圆,受裁剪区影响,只显示出四段圆弧circle(150, 150, 55);// 取消之前设置的裁剪区setcliprgn(NULL);// 画圆,不再受裁剪区影响,显示出一个完整的圆circle(150, 150, 60);// 按任意键退出_getch();closegraph();}
clearcliprgn 清空裁剪区
void clearcliprgn(); 颜色模型(宏定义)
GetBValue 返回指定颜色中的蓝色值
GetGValue 返回指定颜色中的绿色值
GetRvalue 返回指定颜色中的红色值
HSLtoRGB 转换HSL颜色为RGB颜色
COLORREF HSLtoRGB(float H,float S,float L);
H
原 HSL 颜色模型的 Hue(色相) 分量,0 <= H < 360。
S
原 HSL 颜色模型的 Saturation(饱和度) 分量,0 <= S <= 1。
L
原 HSL 颜色模型的 Lightness(亮度) 分量,0 <= L <= 1。
HSVtoRGB 转换HSV颜色为RGB颜色
COLORREF HSVtoRGB(float H,float S,float V);
H
原 HSV 颜色模型的 Hue(色相) 分量,0 <= H < 360。
S
原 HSV 颜色模型的 Saturation(饱和度) 分量,0 <= S <= 1。
V
原 HSV 颜色模型的 Value(明度) 分量,0 <= V <= 1。
RGB用于将红、绿、蓝颜色分量合成颜色。
COLORREF RGB(BYTE byRed,// 颜色的红色部分BYTE byGreen,// 颜色的绿色部分BYTE byBlue// 颜色的蓝色部分);
byRed
颜色的红色部分,取值范围:0~255。
byGreen
颜色的绿色部分,取值范围:0~255。
byBlue
颜色的蓝色部分,取值范围:0~255。
RGBtoGRAY 返回与指定颜色对应的灰度值颜色
RGBtoHSL 转换RGB颜色为HSL颜色
RGBtoHSV转换RGB颜色为HSV颜色
BGR 用于交换颜色中的红色和蓝色
图形颜色及样式设置相关函数
FILLSTYLE 填充样式对象
int style 填充样式 详见easyx官网的style参数
long hatch 填充图案样式,详见easyx官网的hatch参数
IMAGE* ppatern 填充图像,详见easyx官网的的ppattern参数
getbkcolor 获取当前设备背景色
getbkmode 获取当前设备图案填充和文字输出时的背景模式
getfillstyle 获取当前设备填充样式
getfillcolor 获取当前设备填充颜色
getlinecolor 获取当前设备画线颜色
getlinestyle 获取当前设备画线样式
getpolyfillmode 获取当前设备多边形填充模式
getrop2获取当前设备二元光栅操作模式
LINESTYLE 画线样式对象 详见easyx官网
setbkcolor 设置当前设备绘图背景色。
setbkmode 设置当前设备图案填充和文字输出时的背景模式
void setbkmode(int mode);
mode
OPAQUE 背景用当前背景色填充
TRANSPARENT 背景是透明的
setfillcolor 设置当前设备填充颜色
setfillstyle 设置当前设备填充样式
setlinecolor 设置当前设备画线颜色
setlinestyle 设置当前设备画线样式
setpolyfillmode 设置当前设备多边形填充模式
setrop2 设置当前设备二元光栅操作模式
easyx的下载
链接: https://easyx.cn/
直接进入官网下载easyx,安装非常容易