有关图形库的学习笔记

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

C++学习(八)(C语言部分)之 图形库的更多相关文章

  1. 值得学习的C语言开源项目

    值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...

  2. 【C/C++开发】值得学习的C语言开源项目

    值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...

  3. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  4. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  5. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  6. Python Tutorial 学习(八)--Errors and Exceptions

    Python Tutorial 学习(八)--Errors and Exceptions恢复 Errors and Exceptions 错误与异常 此前,我们还没有开始着眼于错误信息.不过如果你是一 ...

  7. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  8. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  9. SVG 学习<八> SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  10. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

随机推荐

  1. UVa 10859 - Placing Lampposts 树形DP 难度: 2

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  2. python之路 ---计算机硬件基础

    计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.一个 ...

  3. jenkins部署java项目到远程linux(四)

    (1)新建java项目(maven构建) pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  4. RTTI,C++类型转换操作符

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. JavaScript 操作DOM对象

    1)JavaScript  操作DOM對象 1.DOM:是Document  Object  Model 的缩写,及文档对象模型 2.DOM通常分为三类:DOM Core(核心).HTML-DOM 和 ...

  6. 安装ubuntu不能引导win7

    台式机安装了ubuntu导致进不了win7了,2系统在同一硬盘. win7引导需要bootmgr和boot文件夹中的文件,2个东东在winows引导分区根目录下. 我的笔记本安装windows系统分区 ...

  7. 3-D models provided some resources

    http://d-earth.jamstec.go.jp/GAP_P4/ http://ds.iris.edu/ds/products/emc-earthmodels/

  8. spring源码研究1 如何导入源码

    环境 jdk8 windows8 1.下载源码 https://github.com/spring-projects/spring-framework 2.编译为eclipse项目 源码下载无法直接导 ...

  9. SharePoint Framework 企业向导(八)

    博客地址:http://blog.csdn.net/FoxDave 构建关于SPFx自定义的计划 在SPFx引入的时候,你就需要对它进行规划了.规划要从介绍SPFx解决方案使用的新的技术栈开始.开 ...

  10. Day7作业及默写

    1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...