C++学习(八)(C语言部分)之 图形库

 

有关图形库的学习笔记


1.安装 ww.easys.cn

2.创建win32控制台应用程序
.cpp文件(图形库必须创建cpp文件) *重点

3.安装好后 重启一下vs


图形库
是一些函数的集合 作用是做一些界面和鼠标操作
函数-->帮助文档

1.基本概念
颜色 RGB值 -->RGB值表示一种颜色 RGB(255,250,250)-->snow 这个颜色 自己调颜色
图形库自己定义的 BLACK
路径问题 是指文件的路径 1.绝对路径 从盘符开始 可以直接找到文件
2.相对路径

指相对某个文件而言 res/text2.txt (相对路径用到比较多) 省略掉了当前文件夹的路径 分隔符//或者\ 在代码里要改过来
设置问题--> 多字节的问题 点击项目文件的属性 把字符集改成使用多字节字符集 *重点

outtextxy(320,240,"你好");
-->不改多字节 outtextxy(320,240,L"你好");
outtextxy(320,240,_T("你好"));//改或不改都可以
outtextxy(320,240,TEXT("你好"));//改或不改都可以

2.窗口
界面 新建窗口
initgraph 新建窗口函数
closegraph 关闭窗口函数

3.图形库的操作
3.1 文字输入输出
文字的输出 只能用于与字符串的输出 outtextxy(坐标x,坐标y,字符串/字符)
设置字体颜色 settextcolor(YELLOW);
设置字体大小和样式 settextstyle(40,0,"宋体");

文字输入 InputBox getch
设置背景颜色 setbkcolor
清屏 cleardevice

3.2 图形绘制
setlinecolor(GREEN);//设置线的颜色
setlinestyle(PS_DASHDOT,10);//画线:点杠线 第一个参数 线条样式 第二个参数 线条宽度
线条样式如下:
PS_SOLID 线形为实线。
PS_DASH 线形为:------------
PS_DOT 线形为:············
PS_DASHDOT 线形为:-·-·-·-·-·-·
PS_DASHDOTDOT 线形为:-··-··-··-··
PS_NULL 线形为不可见。
PS_USERSTYLE 线形样式为用户自定义,有参数 puserstyle 和 userstylecount 指定。

line(100, 0, 200, 100); //画线 (100,0)(200,100)
circle(200,100,20);//画圆: 空心圆形 线条是绿色 圆心=(200,100) 半径=20
setfillcolor(BLUE);//设置填充颜色
fillcircle(300,100,40);//画圆:实心圆 中间填充白色 边缘是绿色 圆心=(300,100) 半径=40
solidcircle(400,100,50);//画圆: 实心圆 中间填充颜色 无边缘线 圆心=(400,100) 半径=50

3.3 图像操作
jpg或者bmp 格式的图片 只能是这两种
IMAGEA 变量 存放图片
loadimage和putimg

3.4 鼠标操作


4.音乐播放 (不属于图形库)


**************我是分割线****************/

 

#include<graphics.h> //图形库头文件
#include<stdio.h>
#include<conio.h>//getch

int main()
{
//示例
//char s[] = "hello world";
//outtextxy(10,20,s);

initgraph(640, 480);//创建窗口 640,480 是指窗口大小 单位是像素

#if 0 //是一种注释 要运行时把0改为1 文字输入与输出
setbkcolor(RGB(255,240,245));//设置背景颜色 或者里面直接输入BLUE
cleardevice();//刷新屏幕 清空屏幕内容 清屏在设置背景颜色之后清屏 要注意位置 不能把其他内容清掉


//1、输出
settextcolor(YELLOW);//设置字体颜色
settextstyle(40,0,"宋体");//设置字体和大小 40指字体高度 0指默认的字体宽度 宋体是指字体
outtextxy(320,240,"hello world 你好中国!");//320指x轴320点 240指y轴240点 窗口中输出hello world你好中国! //outtextxy(320, 240, L"hello world 你好中国!");//不改多字节的写法

//2、输入********InputBox(arr,20,"输入文字"); 用于输入一个字符串
char arr[20];
InputBox(arr,20,"输入文字");//输入内容 arr数组名 20是大小 后面是提示

outtextxy(0, 0, arr);

//3、输入一个字符 getch 头文件 conio.h 可用于游戏推箱子等等
char ch = getch();//获取用户输入一个字符
outtextxy(200,200,ch);//输出这个字符
#endif

 

 

 

 

#if 0 //图形绘制 例如五子棋棋盘 //system("cls");
//画线 画圆
setlinecolor(GREEN);//设置线的颜色
setlinestyle(PS_DASHDOT,10);//第一个参数 线条样式 第二个参数 线条宽度
/*线条样式如下:
PS_SOLID 线形为实线。
PS_DASH 线形为:------------
PS_DOT 线形为:············
PS_DASHDOT 线形为:-·-·-·-·-·-·
PS_DASHDOTDOT 线形为:-··-··-··-··
PS_NULL 线形为不可见。
PS_USERSTYLE 线形样式为用户自定义,有参数 puserstyle 和 userstylecount 指定。

*/

line(100, 0, 200, 100); //画线 (100,0)(200,100)

circle(200,100,20);//画圆: 空心圆形 线条是绿色 圆心=(200,100) 半径=20

setfillcolor(BLUE);//设置填充颜色
fillcircle(300,100,40);//画圆:实心圆 中间填充白色 边缘是绿色 圆心=(300,100) 半径=40

setfillcolor(RGB(64,224,208));//填充颜色
solidcircle(400,100,50);//画圆: 实心圆 中间填充颜色 无边缘线 圆心=(400,100) 半径=50

#endif

 

 

 

 

 


IMAGE img;//定义变量 存放图片
loadimage(&img,"a.jpg");//加载图片 IMAGE变量地址 第二个图片的路径(相对绝对都可以) 第三个第四个是加载的图片的大小(可以不管,按照图片原始大小加载)
putimage(0,0,&img);//贴图 贴图位置(0,0)+贴图变量的地址
//贴图的位置 坐标可以是负数
//也可以直接将图片放到与,cpp文件同目录下 输入时直接写图片名称就可以了
//图片贴不出来 先试试结对路径 绝对路径也不行那就是图片的问题 绝对路径可以 那就是相对路径写错了

 

 

getchar();
closegraph();//关闭窗口
return 0;
}

//getch和getchar斗志获取字符串
//但是getchar要按下回车才会有反应getch直接读取
//#if 0 和 #endif 可以用来阻止运行 想要运行的时候把0改为1就行


//加载ico文件 图标

 

 

 

程序示例运行结果

 

 

 

 

2018.05.22  22:03:44

原文地址:https://www.cnblogs.com/Yuuki-/p/9074408.html