C/C++图形库EasyX保姆级使用教程(二) 图形化窗口设置以及简单图形的绘制

微软技术分享 微软全球最有价值专家
全栈领域优质创作者
博客专家认证
2024-02-17 15:57:03

第一章 Microsoft Visual Studio 2022和EasyX的下载及安装使用 第二章 图形化窗口设置以及简单图形的绘制

文章目录

前言

本篇文章,我将给大家展示VC中的图形化编程,内容比较详细!

一、窗口!

日常写程序,我们用的最多的就是控制台的窗口,但是,今天我们讲的是图形化编程,那么控制台窗口变成了图形化窗口!!! 那么,就有了一个问题:

1.如何生成一个图形化窗口?

1.头文件

首先我们需要一个名为#include<easyx.h>头文件也可以把#include<graphics.h>加上

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;

2.初始化一个图形化窗口

那么在这样的条件下,我们可以用initgraph创建一个窗口

  • initgraph();是创建图形化窗口的重要内容,其中initgraph()中的参数包括: initgraph(窗口的长,窗口的宽度,显示控制台);
  • 注意:最后一个参数可以不写,不写时是只有图形化窗口
  • initgraph(800, 600);
  • 我们好像不能只是去创建窗口,我们还要将窗口关闭,closegraph();这个函数可以将你创建的窗口关闭【虽然基本也用不着这个…】
  • 但是在写代码的时候还要注意一点,就是在结尾出加入一个while(true);不然整个程序会一闪而过,详细代码如下:
#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main(){
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    while(true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

效果如下图所示:

https://img-blog.csdnimg.cn/0938c8ff81fe4e7d819f79828ea72962.png


可以看到,窗口是黑乎乎一片,没有任何东西,如果觉得单调,那么就看一下下面的东西吧!

3.设置窗口背景颜色

我们可以看到,只是有黑乎乎的一片会显得程序尤为单调,那么我们就需要用到更改背景颜色的函数了:setbkcolor(颜色英文单词大写);RGB(红[int],绿[int],蓝[int]);

刷新函数cleardevice()

这个函数的主要用途在于更换完背景颜色后,可以将其显示出来,换句话说,如果不用这个函数,设置完背景颜色就无法显示

cleardevice();
设置窗口颜色:setbkcolor()

在使用setbkcolor函数时,我们只需要使用其英文单词的大写,以下是一些可以用到的颜色:
颜色代码BLACK0BLUE0xAA0000GREEN0x00AA00CYAN0xAAAA00RED0x0000AAMAGENTA0xAA00AABROWN0x0055AALIGHTGRAY0xAAAAAADARKGRAY0x555555LIGHTBLUE0xFF5555LIGHTGREEN0x55FF55LIGHTCYAN0xFFFF55LIGHTRED0x5555FFLIGHTMAGENTA0xFF55FFYELLOW0x55FFFFWHITE0xFFFFFF

所以,当我们想要更改背景颜色为红色时,我们就可以用setbkcolor(RED);之后加入cleardevice();来实现

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main() {
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    setbkcolor(RED);/*设置背景颜色为红色*/
    cleardevice();/*刷新窗口*/
    while (true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

这样,我们就得到了一个红色背景的程序,如下图所示:

https://img-blog.csdnimg.cn/84f86d6a8abb4a8f9bdb9cac2d88d0d5.png

设置窗口颜色:RGB(红,绿,蓝)

当我们觉得以上颜色还不够用时,我们就可以使用RGB();函数,使用方法如下:setbkcolor(RGB(253,151,95)); 完整代码:

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main() {
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    setbkcolor(RGB(253,151,95));/*通过了RGB进行调色*/
    cleardevice();/*刷新窗口*/
    while (true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

运行结果图展示:

https://img-blog.csdnimg.cn/da92874a59a347e48108a0faab9df5b1.png


另外,当我们需要使用RGB进行调色时,我们只需要打开画图,找到如下按钮:

https://img-blog.csdnimg.cn/a5d186d9852a4e28a81e25cd416c620b.png


随意找到一个颜色,找到右侧对应的RGB值,将其写入到代码中,如下图所示:

https://img-blog.csdnimg.cn/8dd986a767424a0b89456ebe5a4044a7.png

二、绘制简单图形

1.画一条直线

在VC中,我们想要画一条直线,只需要使用到line函数,line()的使用方法为: line(起始点x,起始点y,终点x,终点y); 例如我们想要从(0,0)的位置画到(800,600)的位置,这样的一条对角线,我们只需要使用line(0,0,800,600); 这样就可以画一条直线了!!! 详细代码如下:

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main() {
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    setbkcolor(RGB(253,151,95));/*通过了RGB进行调色*/
    cleardevice();/*刷新窗口*/
    line(0, 0, 800, 600);/*从起始点(0,0)画到结束点(800,600)*/
    while (true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

这样我们就得到了一条对角线了【其实画直线也是可以的】

https://img-blog.csdnimg.cn/cb53ce6398b74c3e99f608b4f2dbed90.png

2.画圆

众所周知,圆的英文单词是circle,那么在VC中,画圆时,我们就要用到circle函数,函数的使用方法为: circle(圆心x,圆心y,圆半径); 比如,我们要在(100,100)的位置画一个半径为50的圆,那么就要这样些:circle(100, 100, 50);

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main() {
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    setbkcolor(RGB(253,151,95));/*通过了RGB进行调色*/
    cleardevice();/*刷新窗口*/
    line(0, 0, 800, 600);/*从起始点(0,0)画到结束点(800,600)*/
    circle(100, 100, 50);/*circle(圆心x,圆心y,圆半径)  画圆*/
    while (true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

效果如下:

https://img-blog.csdnimg.cn/e60a7a7349a34dd7b171d3e0324f86ca.png

3.画矩形和正方形

众所周知,矩形在英语里的英文单词为rectangle,所以在使用VC做图形化时,我们就要用的rectangle()函数,具体操作如下: rectangle(左上角x,左上角y,右下角x,右下角y); 画矩形时,我们就只需要知道左上角的x,y的值以及右小角的x,y的值,就可以画出矩形了,当然,如果说要画正方形,就要保证每条边相等,也就是右下角x-左上角x=右下角y-左上角y只要满足这个条件,就可以画出矩形来了!!! 代码如下:

#include<iostream>
#include<easyx.h>
#include<graphics.h>
using namespace std;
int main() {
    initgraph(800, 600);/*生成一个长宽为800,600的图形化窗口*/
    setbkcolor(RGB(253,151,95));/*通过了RGB进行调色*/
    cleardevice();/*刷新窗口*/
    line(0, 0, 800, 600);/*从起始点(0,0)画到结束点(800,600) 画直线*/
    circle(100, 100, 50);/*circle(圆心x,圆心y,圆半径)  画圆*/
    rectangle(300, 300, 400, 400);/*画矩形   rectangle(左上角x,左上角y,右下角x,右下角y)*/
    while (true);/*防止程序一闪而过*/
    closegraph();/*关闭图形化窗口*/
    return 0;
}

效果图如下:

https://img-blog.csdnimg.cn/d7aaefce5f224d9ab705a003f947daa2.png

总结

本篇文章主要讲解了VC中初始化一个窗口以及绘制一些简单图形,一下篇文章我将要讲解如何让图形拥有填充的颜色! 最后,如果你觉的文章写的还不错的话,求点赞求收藏求打赏求转发,最重要的是点一个大大的关注,各位的支持是我创作的最大动力!


文章来源: https://blog.csdn.net/llh200804/article/details/131445061
版权声明: 本文为博主原创文章,遵循CC 4.0 BY-SA 知识共享协议,转载请附上原文出处链接和本声明。


...全文
1466 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,851

社区成员

发帖
与我相关
我的任务
社区描述
微软技术社区为中国的开发者们提供一个技术干货传播平台,传递微软全球的技术和产品最新动态,分享各大技术方向的学习资源,同时也涵盖针对不同行业和场景的实践案例,希望可以全方位地帮助你获取更多知识和技能。
windowsmicrosoft 企业社区
社区管理员
  • 王瑞MVP
  • 郑子铭
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

微软技术社区为中国的开发者们提供一个技术干货传播平台,传递微软全球的技术和产品最新动态,分享各大技术方向的学习资源,同时也涵盖针对不同行业和场景的实践案例,希望可以全方位地帮助你获取更多知识和技能。

予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。

试试用AI创作助手写篇文章吧