1、为什么要搭建图形化开发环境
因为很多初学者学习C++就是单纯的控制台打印输出,很枯燥,我们今后在做项目或者在学习的过程中,采用图形化方式相结合的方法学习,在学习中体会编程带来的快乐。先说明一下,奇牛课程是边学习边做项目的课,我们学习一些知识点就可以做部分项目。在做项目过程中,我们会熟悉使用easyx图形库的使用。
1. 使用 MFC 或 WPF ,使用方便, 但是需要先熟悉 C++, 仅适用于 Windows 平台 .后面就业班专门学习MFC开发。2. 使用跨平台 QT ,跨平台, 也要先熟悉 C++.就业课专门学习QT开发。3. 使用图形库 OpenGL OpenGL 非常强大 , 很多大型游戏引擎就直接使用 OpenGL 绘制图像缺点 : 太复杂 , 不适合初学者 .4. EasyX,使用简单, 非常适合 C/C++初学者构建图形界面. 同时用来学习/提高 C/C++语言
为什么选择 EasyX?
1. 先安装 Visual C++2010 或 VS 的其他版本在前面的课程中已经安装。
点击安装:
然后:
单击 visual c++ 2010 对应的“安装”按钮(或单击其他版本对应的按钮),自己安装VS的哪个版本就安装对应的easyx版本。
在 VS 中,一个解决方案可包含多个项目。
#include <graphics.h>// 引用 EasyX 图形库#include <Windows.h>int main( void ){initgraph(640, 480);// 初始化图形界面 , 画布大小为 640x480// 画一个圆circle(320, 240, 200); // 画圆,圆心 (320, 240) ,半径为 200system( "pause" );closegraph();// 关闭图形界面}
把新项目 G1 设置为找个解决方案的“启动项目”,注意:一个解决方案里可以有多个项目,而每次只能运行一个项目,我们运行某个指定的项目就得把该项目设置为启动项目。
把新项目 G1 设置为找个解决方案的“启动项目”并运行
运行 :
有的人问,这好像还是控制台打印啊??不不不,这不是控制台,你看左上角有个G1,说明已经不是控制台了,具体是什么?不着急,先慢慢来。稳中求进!!后面都会说的。
2、图形开发进阶
分析 :
背景色:用“画图”的拾色器获取。代码如下:
#include <graphics.h>// 引用 EasyX 图形库#include <Windows.h>int main( void ){initgraph(640, 480);// 初始化图形界面 , 画布大小为 640x480setbkcolor(RGB (64, 128, 128)); // 设置背景色cleardevice(); // 用背景色清空整个屏幕 ( 整个画布 )// 画一个圆setlinecolor(RGB (255, 0, 0));// 设置划线 ( 画笔 ) 的颜色setlinestyle( PS_SOLID, 10);// 设置线条为实线 , 设置线宽为 10 像素circle(320, 240, 200);// 画圆,圆心 (320, 240) ,半径为 200// 输出文本settextcolor(RGB(255,255,0));// 设置字体颜色// 设置字体样式 : 字体高度为 100 像素 , 宽度不指定 , 字体名称为 " 微软雅黑 "settextstyle(100, 0, " 微软雅黑 " );outtextxy(170, 190, ( " 无码高清 " )); // 在指定位置输出文本// 画一条斜线line(180, 380, 460, 100); // 从 (180,380) 到 (460, 100) 画一条直线system( "pause" );closegraph();// 关闭图形界面}
运行结果:
后面我回打印图片,那个时候就很有趣了。easyx的用法大家业余时间可以找找教程学学看。
3、 黑客攻击系统-图形界面实现
效果图:
分析:
图片:600 x 340
实现:
1. 把图片资源(bg.jpg)复制到该项目的目录下,大家也可以用自己的图片:
2. 代码实现:
#include <graphics.h>// 引用 EasyX 图形库#include <Windows.h>int main( void ){initgraph(600, 400);// 初始化图形界面 , 画布大小为 640x480loadimage(0, ( "bg.jpg" ));settextcolor(RGB(255,255,0));// 设置字体颜色settextstyle(30, 0, " 微软雅黑 " );rectangle(300, 40, 550, 80);//( 左上角 x, 左上角 y, 右上角 x ,右上角outtextxy(310, 45, "1- 网站 404 攻击 " ); // 在指定位置输出文本rectangle(300, 100, 550, 140);outtextxy(310, 105, "2- 网站篡改攻击 " ); // 在指定位置输出文本rectangle(300, 160, 550, 200);outtextxy(310, 165, "3- 网站攻击修复 " ); // 在指定位置输出文本rectangle(300, 220, 550, 260);outtextxy(310, 225, "4- 查看攻击记录 " ); // 在指定位置输出文本rectangle(300, 280, 550, 320);outtextxy(310, 285, "5- 退出 " ); // 在指定位置输出文本system( "pause" );closegraph();// 关闭图形界面}
由于我没有这张图,就换一张那个图:如下:
音乐使用滑脚怪,如文件夹底部所示:
代码:
#include<graphics.h>
#include<Windows.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")int main() {
initgraph(800, 513);
loadimage(NULL, _T("jile.jpg"));
//音乐播放
mciSendString(_T("play 滑脚怪.mp3"), 0, 0, 0);
system("pause");
}
播放音乐的代码就是这么简单,只是头文件比较多。
问题补充:为什么我跟着你敲,没有播放音乐?原因就是编码方式:
这种编码方式是不能播放音乐的,改成支持中文的即可播放:
怎么修改编码?参考:
VS2019 设置显示”高级保存选项“_vs高级保存选项_张明奇-琦玉的博客-CSDN博客
3、职场修炼
1. 问同事,会不会显得自己的水平不行,有损个人的逼格形象。2. 问领导(项目经理、主管等),会不会影响自己在公司的技术地位3. 憋着不问,可能搞不定,会不会影响项目进度。
4、程序员必备工具:Beyond Compare 3(代码对比工具)
1. 学习时,和参考代码做比较2. 开发时,在多个版本之间做比较。
这个工具目前我们是不会用到,因为前面学习基础语法,不是做项目,等后面做项目,项目有多个版本,找出版本差异这时候这个工具就牛逼了。对这个工具怎么使用,大家可以自己找教程。反正这个工具是后期的一个重要工具。先不着急下载,但是你得有个印象,就是说后面提到你只需知道用这个东西是干嘛用的即可。