graphics图形函数库简介
SetWorkingImage
这个函数用于设定当前的绘图设备。
void SetWorkingImage(IMAGE* pImg = NULL);
参数:
pImg
绘图设备指针。如果为 NULL,表示绘图设备为默认绘图窗口。
返回值:
(无)
说明:
如果需要对某个 IMAGE 做绘图操作,可以通过该函数将其设置为当前的绘图设备,之后所有的绘图语句都会绘制在该 IMAGE 上面。将参数置为 NULL 可恢复对默认绘图窗口的绘图操作。
示例:
#include
#include
void main()
{
// 初始化绘图窗口
initgraph(640, 480);
// 创建 200x200 的 img 对象
IMAGE img(200, 200);
// 设置绘图目标为 img 对象
SetWorkingImage(&img);
// 以下绘图操作都会绘制在 img 对象上面
line(0, 100, 200, 100);
line(100, 0, 100, 200);
circle(100, 100, 50);
// 设置绘图目标为绘图窗口
SetWorkingImage();
// 将 img 对象显示在绘图窗口中
putimage(220, 140, &img);
// 按任意键退出
getch();
closegraph();
}
颜色
EasyX 使用 24bit 真彩色,不再支持调色板模式。
表示颜色有以下几种办法:
1. 用预定义颜色常量,如下:
常量值颜色常量值颜色BLACK0黑DARKGRAY0x555555深灰BLUE0xAA0000蓝LIGHTBLUE0xFF5555亮蓝GREEN0x00AA00绿LIGHTGREEN0x55FF55亮绿CYAN0xAAAA00青LIGHTCYAN0xFFFF55亮青RED0x0000AA红LIGHTRED0x5555FF亮红MAGENTA0xAA00AA紫LIGHTMAGENTA0xFF55FF亮紫BROWN0x0055AA棕YELLOW0x55FFFF黄LIGHTGRAY0xAAAAAA浅灰WHITE0xFFFFFF白2. 用 16 进制的颜色表示,形式为:
0xbbggrr (bb=蓝,gg=绿,rr=红)
3. 用 RGB 宏合成颜色。详见 RGB。
4. 用 HSLtoRGB、HSVtoRGB 转换其他色彩模型到 RGB 颜色。详见 HSLtoRGB、HSVtoRGB。
示例:
以下是部分设置前景色的方法:
setcolor(0xff0000);
setcolor(BLUE);
setcolor(RGB(0, 0, 255));
setcolor(HSLtoRGB(240, 1, 0.5));
坐标
在 EasyX 中,坐标分两种:逻辑坐标和物理坐标。
逻辑坐标
逻辑坐标是在程序中用于绘图的坐标体系。
坐标默认的原点在屏幕的左上角,X 轴向右为正,Y 轴向下为正,度量单位是象素。
坐标原点可以通过 setorigin() 函数修改;坐标轴方向可以通过 setaspectratio() 函数修改;缩放比例可以通过 setaspectratio() 函数修改。
在本手册中,凡是没有注明的坐标,均指逻辑坐标。
物理坐标
物理坐标是描述设备的坐标体系。
坐标原点在屏幕的左上角,X 轴向右为正,Y 轴向下为正,度量单位是象素。
坐标原点、坐标轴方向、缩放比例都不能改变。
所谓“设备”,简单来说,就是绘图表面。
在 EasyX 中,设备分两种,一种是默认的绘图窗口,另一种是 IMAGE 对象。通过 SetWorkingImage() 函数可以设置当前用于绘图的设备。
设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。
绘图环境相关函数
相关函数如下:
函数或数据描述cleardevice清除屏幕内容。initgraph初始化绘图窗口。closegraph关闭图形窗口。getaspectratio获取当前缩放因子。setaspectratio设置当前缩放因子。graphdefaults恢复绘图环境为默认值。setorigin设置坐标原点。setcliprgn设置当前绘图设备的裁剪区。clearcliprgn清除裁剪区的屏幕内容。clearcliprgn
这个函数用于清空裁剪区的屏幕内容。
void clearcliprgn();
参数:
(无)
返回值:
(无)
示例