基本绘图和文字输出 |
您所在的位置:网站首页 › qbasic程序设计 › 基本绘图和文字输出 |
文章目录
一、基本说明二、基本概念2.1 - 颜色2.2 - 坐标2.3 - 设备
三、绘图设备相关函数3.1 - initgraph3.2 - closegraph3.3 - cleardevice
四、颜色模型3.1 - RGB3.2 - HSLtoRGB3.3 - HSVtoRGB
五、图形颜色及样式设置相关函数5.1 - setbkcolor5.2 - setbkmode5.3 - setfillcolor5.4 - setlinecolor5.5 - setlinestyle
六、图形绘制相关函数6.1 - 绘图函数的分类6.2 - 圆6.3 - 示例
七、文字输出相关函数7.1 - outtextxy7.2 - settextcolor7.3 - settextstyle
八、示例程序8.1 - 彩虹8.2 - 字符阵
一、基本说明
EasyX 是针对 C++ 的图形库,可以帮助 C/C++ 初学者快速上手图形和游戏编程。 比如可以基于 EasyX 图形库很快地用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,可以练习图形学的各种算法,等等。 二、基本概念 2.1 - 颜色EasyX 使用 24 bit 真彩色,不支持调色板模式。 像素是计算机屏幕上所能显示的最小单位,用来表示图像的单位。 分辨率指屏幕上像素的数目,为了控制像素的亮度和彩色深度,每个像素需要很多个二进制位来表示,如果要显示 256 种颜色,则每个像素至少需要 8 位(一个字节)来表示,即 2 ^ 8 = 256;如果要显示 24 位真彩色,则每个像素要用 3 个字节存储。 真彩色是指图像中的每个像素值都分成 R、G、B 三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色。 例如图像深度为 24,用 R: G: B = 8: 8: 8 来表示色彩,即 R、G、B 都用 8 位来表示,每个基色分量占一个字节,共 3 个字节,每个像素的颜色就是由这 3 个字节中的数值直接决定,可生成的颜色数就是 2 ^ 24 = 16 777 216 种。24 位真彩色可以达到人眼分辨的极限。 表示颜色的方法: 用预定义常量表示颜色,例如 BLACK、WHITE、BLUE 等。用 16 进制数字表示颜色,16 进制的颜色表示规则为:0xbbggrr(bb = 蓝,gg = 绿,rr = 红)用 RGB 宏合成颜色(详见 RGB)。用 HSLtoRGB、HSVtoRGB 转换其他色彩模型到 RGB 颜色(详见 HSLtoRGB、HSVtoRGB )。![]() 在 EasyX 中,坐标分两种:物理坐标和逻辑坐标。 物理坐标: 物理坐标是描述设备的坐标体系。 坐标原点在设备的左上角,X 轴向右为正,Y 轴向下为正,度量单位是像素。 坐标原点、坐标轴方向、缩放比例都不能改变。 逻辑坐标: 逻辑坐标是在程序中用于绘图的坐标体系。 坐标默认的原点在窗口的左上角,X 轴向右为正,Y 轴向下为正,度量单位是点。 默认情况下,逻辑坐标与物理坐标是一一对应的,一个逻辑点等于一个物理像素。 在本手册中,凡是没有注明的坐标,均指逻辑坐标。 2.3 - 设备"设备",是指绘图表面。 在 EasyX 中,设备分为两种,一种是默认的绘图窗口,另一种是 IMAGE 对象。通过 SetWorkingImage 函数可以设置当前用于绘图的设备。 设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。 三、绘图设备相关函数 3.1 - initgraph这个函数用于初始化绘图窗口。 HWND initgraph(int width, int height, int flag = NULL);参数: width:绘图窗口的宽度。 height:绘图窗口的高度。 flag:绘图窗口的样式,默认为 NULL。可以为以下值: 值含义EW_DBLCLKS在绘图窗口中支持鼠标双击(double clicks)事件EW_NOCLOSE禁用绘图窗口的关闭按钮(no close)EW_NOMINIMIZE禁用绘图窗口的最小化按钮(no minimize)EW_SHOWCONSOLE显示控制台窗口(show console)返回值: 返回新建绘图窗口的句柄(HWND)。示例: // 创建一个尺寸为 640 x 480 的绘图窗口 initgraph(640, 480); // 创建一个尺寸为 640 x 480 的绘图窗口,同时显示控制台窗口 initgraph(640, 480, EW_SHOWCONSOLE); // 创建一个尺寸为 640 x 480 的绘图窗口,同时显示控制台窗口,并禁用关闭按钮 initgraph(640, 480, EW_SHOWCONSOLE | EW_NOCLOSE); 3.2 - closegraph这个函数用于关闭绘图窗口。 void closegraph(); 3.3 - cleardevice这个函数使用当前背景色清空绘图设备。 void cleardevice(); 四、颜色模型 3.1 - RGBRGB 宏用于将红、绿、蓝颜色分量合成颜色。 COLORREF RGB(BYTE byRed, BYTE byGreen, BYTE byBlue);参数: byRed:颜色的红色部分,取值范围:0 ~ 255。byGreen:颜色的绿色部分,取值范围:0 ~ 255。byBlue:颜色的蓝色部分,取值范围:0 ~ 255。返回值: 返回合成的颜色。 3.2 - HSLtoRGB该函数用于转换 HSL 颜色为 RGB 颜色。 COLORREF HSLtoRGB(float H, float S, float L);参数: H:原 HSL 颜色模型的 Hue(色相)分量,0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |