<C> 图形库 - 2017/11/21
图形课 easyx graphics.h(头文件)
下载地址:www.easyx.cn
win32 控制台项目 创建cpp文件 (图形库只能用C++)
1. 基本概念: <颜色 路径 窗口>
<颜色> RGB --> Red() Green() Blue() RGB(200,200,150);
宏 16种颜色 BLACK
<路径> 绝对路径 -> I:\大数据JAVASE学习\day04-控制语句
相对路径 -> hieng.jpg 和 cpp在同级目录下
..\hieng\hieng.jpg 在上一级文件
// 相对路径 如果直接运行exe 如果在项目里面运行 和cpp保持同目录
窗口 --> 窗口 黑窗口 图形 自己的窗口
2. 文件输入输出: 项目-属性 改多字节字符集
1.输出:
输出:outtextxy // 指定位置输出字符串
设置字体颜色:settextcolor
设置字体样式:settextstyle 先设置 然后输出
2.输入:
getch 在图形库中可以用 conio.h头文件 获取字符 char char = getch();
如果要输入字符串 InputBox 弹窗口
(一个汉字占两个字节)
3. 画图:
// 图形
circle -> 只有边框
fillcircle -> 有边框 有填充
solidcircle -> 有填充 没有边框
代码块:
#include <stdio.h> #include <graphics.h> // 图形库头文件 #include <mmsystem.h> #pragma comment(lib,"winmm.lib") int main() { /* 创建一个窗口 */ initgraph(640, 480); #if 0 /* 设置背景颜色 */ setbkcolor(BLUE); cleardevice(); //刷新屏幕 /* 颜色 */ //settextcolor(RGB(320, 540, 254)); // 用 RGB 调颜色 settextcolor(GREEN); settextstyle(30, 0, "黑体"); // 设置字体样式(字体大小) 高度 宽度(为0 表示默认宽度)样式 /* 打印 */ outtextxy(0, 0, "你好!今天你那边天气如何?"); char arr[20]; InputBox(arr, 20, "输入文件", "确认输入"); // 输入 // arr 输入内容存放的位置 20最大长度 文本 标题 outtextxy(300, 300, arr); // 打印 //printf_s("Hello World!"); // 之前输入输出都不能在这里面使用 #elif 0 // 画图 /* 设置颜色 */ setlinecolor(RED); setfillcolor(DARKGRAY); circle(210, 120, 60); // 圆心坐标 +半径 左上 fillcircle(300, 210, 60); // 左下(填充圆) solidcircle(500, 100, 60); // 右上(填充圆) #elif 0 // 贴图 /** * 素材要求:jpg bmp * 先定义变量存放 --> IMAGE * 然后加载 --> loadimage * 最后贴图 --> putimage * * 贴不出来: 路径 * 素材 * * 素材路径:分隔 / 和 \\ 是一样的 * 字符串里面: 转义字符 \\ * 生成 exe之后如果想要运行exe就把图片放到一起 */ IMAGE img; loadimage(&img, "hieng.jpg", 640, 480); /** * 变量地址 图片路径 宽和高(可以不写 如果不写用图片大小) */ putimage(0, 0, &img); #elif 0 // 鼠标点击 /** * MOUSEGMSG 鼠标信息 * MOUSEHit 判断有没有鼠标信息 * GetMouseMsg 获取鼠标信息 */ IMAGE img; loadimage(&img, "hieng.jpg", 640, 480); rectangle(100, 100, 200, 200); // 画一个矩形 int x = 1; MOUSEMSG msg; // 定义一个鼠标信息变量 //if (MouseHit()) // 有就返回真 没有就返回假 while (x) { msg = GetMouseMsg(); // 获取鼠标信息 switch (msg.uMsg) // 判断鼠标信息 <结构体> { case WM_LBUTTONDOWN: // 左键按下 if (100 <= msg.x <= 200 && 100 <= msg.y <= 200) { putimage(0, 0, &img); // 打印图片 x = 0; } break; case WM_RBUTTONDOWN: // 右键按下 break; default: break; } } #elif 0 // 资源文件 /** * 贴图: * 1.外部文件 exe 带图片 * 2.资源文件 图片导入 exe */ #elif 1 // 播放音乐 // mciSendString 可以播放: way mp3 // PlaySound wav IMAGE img; loadimage(&img, "hieng.jpg", 640, 480); putimage(0, 0, &img); mciSendString("open Devotion.mp3", 0, 0, 0); mciSendString("play Devotion.mp3", 0, 0, 0); // alias bgm 加别名 别名 // repeat 循环播放 #endif getchar(); closegraph(); // 关闭新建窗口 return 0; }