TC图形库小知识

TC图形库又叫Turbo C绘图程序设计库,在早期的2.0版本,TC图形库包含了460多个库函数,其中70多个图形函数,这些函数包括绘图,处理图像及图素,屏幕及视图区控制,颜色及线型控制,状态查询和出错处理等,这使得TC具有很强的图形功能!

TC库的头文件 #include<graphics.h>

这里由于涉及的函数较为简单和基础,所以就不一一道明 (全讲是不太现实的)
注意:使用TC图形库时请先安装vs
vs2019安装教程(超详细)
安装好vs后再安装EasyX库:
点这里下载库
下载完后图形库会自行检查你的vs,然后点安装就可以,这个很简单就不 讲述了

@@@@@@1.画图类函数(填充和非填充)
!!!!这要在图形界面才可以实现画图,控制台不能画图,具体看第 二步

  1. 画一个点的函数:
putpixel(int x,int y,int pixelcolor)   3个参数,分别表示你想要画的点的
x,y坐标和该点的像素颜色

在这里插入图片描述

2.画一条直线的函数

line(int x0,int y0,int x1,int y1)   4个参数,在两点之间画一条直线
该两点的坐标分别是(x0,y0)和(x1,y1);

在这里插入图片描述

3 .画一条光标直线的函数

lineto(int x,int y)       2个参数画一条从光标到该点(x,y)的直线

在这里插入图片描述
4.画一个圆的函数

circle(int x,int y,int radius)   画一个以(x,y)为圆心,radius
为半径的圆 (只能填充边界颜色的圆)
fillcircle(int x,int y,int radius) (可以填充内部颜色的圆)

5.画一个矩形的函数

rectangle(int x0,int y0,int x1,int y1)  (x0,y0)是矩形左上角的
顶点坐标,(x1,y1)是矩形右下角的顶点坐标 (只能填充边界的矩形)
fillrectangle(int x0,int y0,int x1,int x2) (可以填充内部颜色的矩形)

6 .给图形边界设置颜色

setcolor(int color) 

在这里插入图片描述
7.给填充类图形内部填充颜色

setfillcolor(int color) //颜色代码和上面一致

@@@@@2.创建图形界面
上一篇博客介绍过窗口句柄的概念

在TC里面有一个创建一种非控制台输出类的图形界面
HWND app;//  创建一个窗口句柄 app
app = initgraph(int length,int width) 图形窗口的长和宽
例如  app = initgraph(640,480) 这是不显示控制台窗口的640*480图形窗口
例如  app = initgraph(640,480,SHOWCONSOLE) 这里SHOWCONSLOE是指
显示控制台窗口的意思

一般用完图形界面后要安全关闭
closegraph()  //关闭图形界面

实例画一个圆:
在这里插入图片描述
边界加成红色:(setcolor对circle)
在这里插入图片描述
填充为红色(setfillcolor对fillcircle)
在这里插入图片描述@@@@@ 3.文本类位置,颜色,形式等

1.在指定位置输出文本内容(可以比较上一篇博客来领悟一下)

outtextxy(int x,int y,TCHAR c)  在图形界面x,y的坐标位置来输出内容c

在这里插入图片描述
2.设置输出文本内容的字体颜色

settextcolor(COLORRER color) //设置你将要输出字体的颜色

有人可能会问SetTextColor()      函数是不是一样的,这两者本质目的差不多,
但参数对象不一样,下面这个设计到HDC(设备场景句柄) 这个有点繁琐,
就不做过多介绍了

在这里插入图片描述
3.设置文本形式的函数

settextstyle(int height,int width, LPCTSTR IpszFace)  分别表示你输出
文本的字体高度,长度和字体类型

在这里插入图片描述4.获取字符串(字体)的高度

textheight(char *textstring)   //返回以像素为单位的字符串高度,一般
输入的字符串都是16

在这里插入图片描述@@@@@3.消息框的创建
图形界面的消息框是基于鼠标交汇点击框命令窗口的按钮来实现的,
其函数为:

函数原型
MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType)
该函数返回int 型整数

1.hwnd 此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。
2.lpText 指该消息框你所要执行的所有的命令内容
3.lpCaption 消息框的标题,就像每个窗口都有一个标题一样
4.uType 指实现命令的按钮,视情况而定

找了一张有关于命令按钮所能实现的图片
在这里插入图片描述举例来实现一下:

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

int main()
{
	HWND app;
	app = initgraph(640, 480);
	int sx = MessageBox(app, "是否退出游戏", "消息窗口", MB_YESNO);
	while (1)
	{
		if (sx == IDYES)
			exit(0);
		if (sx == IDNO)
			continue;
	}
	
	system("pause");
	return 0;
}

在这里插入图片描述这就制作了一个简单的消息窗口。

@@@@@ 4.图片加载,读取,调整

1.在初学计算机语言时都会先了解变量类型名,比如整数是int,浮点数是float,实数是double ,字符是char ,字符串是string 等等,但照片是属于什么类别呢,TC里面的照片变量类型名是 IMAGE;

IMAGE img //定义一个有关于照片的类型变量,
//jpg和bmp的图片格式是支持的

2.那么加载图片资源的函数是什么?

IMAGE img //创建一个图片变量
loadimage(IMAGE *pDstlmg,LRCTSTR plmgFile,int width,int height,
          bool bResize=false)
1.pDstlmg,是取你创建的图片变量名的地址
2.plmgFile 你所要加载的图片的路径位置
3.width  你所要将你加载的图片变化为多宽
4.height 你所要将加载你的图片变化为多高
5.bResize  是否将图片改变为你设置的类型(感觉真没什么用)

//你也可以将你所要加载的图片放入文件资源管理器里面
在这里插入图片描述在这里插入图片描述!这样子的好处就可以直接加载图片,而不需要写很长的路径

3.画出你加载的图片于图形界面上

putimage(int x,int y,const IMAGE *pSrclmg,DWORD dwRop)
1. x  图贴位置的x坐标
2. y  图贴位置的y坐标
   (x,y是指你要贴的图片左上角顶点的坐标
3. pSrclmg  是指向你所加载图片的IMAGE位置指针
4. dwRop  三元光栅
//举例:
//图片自己准备,我这里的图片和你们的不一样,所以代码你们不能编译,参考一下
#include<iostream>
#include<graphics.h>
using namespace std;

int main()
{
	HWND app;
	app = initgraph(640, 480);
	IMAGE img;
	loadimage(&img,"5.jpg",300,300,true);
	putimage(1, 1, &img);
	while (1)
	{
		putimage(1, 1, &img);
	}
	system("pause");
	return 0;
}

在这里插入图片描述制作游戏的图片素材可以从游戏中解析出来,当然也可以实现透明背景贴图,这涉及到掩码图和精灵图的问题,这里就暂时不介绍了, 要推箱子的游戏素材可以留言,虽然我的图片有点黑形线,但相比严重失真的图片,还是可以过的去的,这篇博客就介绍到这里,有问题,欢迎留言!

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨小街

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值