easyx基本功能实现(背景+图片+文字+图形+音乐),不允许你不会,赶紧来学习

本文介绍如何使用EasyX库在C/C++中实现背景图片、图形、文字及音乐播放。通过一个示例程序,展示了如何加载图片、绘制图形、显示文字并播放音乐,使编程变得更加简单和有趣。文中提供了详细的代码实现步骤,适合初学者学习。
摘要由CSDN通过智能技术生成

有很多朋友问过我,easyx还不会插图片,放音乐,今天就给你们带来了,这些功能如何实现

达到这样的效果

你是否曾想过用编程来制作一个有背景、图片、文字、图形和音乐的程序?如果你觉得这个想法很有趣,那么你一定会对easyx库感兴趣。EasyX 是一个为 C/C++ 程序员提供的图形、图像和多媒体编程接口,让编程变得更加简单和有趣。

在本文中,我们将通过一个简单的示例程序来展示如何使用 easyx 实现背景、图片、文字、图形和音乐的集成。这个程序将会创建一个窗口,并在其中显示一张图片,添加一个黄色矩形,以及在矩形上方显示一段红色的文字,同时播放一段音乐。

首先,我们需要在代码中包含 easyx 和 mmsystem 的头文件。mmsystem 是 Windows 提供的多媒体设备接口,用于播放音乐。

接下来,我们定义了 BGM() 函数来打开和播放音乐。mciSendString() 函数用于发送字符串命令到多媒体控制台,这里我们使用 "open" 和 "play" 命令来打开和播放音乐文件。

在 main() 函数中,我们首先调用 initgraph() 函数来初始化图形窗口。然后,我们调用 BGM() 函数来播放音乐。接下来,我们定义了一个 IMAGE 类型的变量 picture,用于存储加载的图片。

使用 loadimage() 函数加载图片到 picture 变量中,然后使用 putimage() 函数将图片显示在窗口中。

接下来,我们使用 setfillcolor() 函数设置填充颜色为黄色,然后使用 solidrectangle() 函数绘制一个矩形。

接着,我们定义了一段欢迎文字,并使用 setbkmode() 函数设置文字背景透明。settextstyle() 函数用于设置字体和颜色,textwidth() 和 textheight() 函数分别用于获取文字的宽度和高度。然后,我们计算文字的水平和垂直位置,并使用 outtextxy() 函数将文字输出到窗口中。

最后,我们使用一个无限循环来保持程序运行。这个循环中没有任何操作,因此程序会一直运行直到被强制终止。

通过这个示例程序,我们可以看到使用 easyx 实现背景、图片、文字、图形和音乐的集成是非常简单的。如果你想深入学习 easyx 的更多功能,可以参考官方文档或相关教程。现在就来学习 easyx,让你的编程之旅更加有趣吧!

废话不多说,直接上源码!!!

#include<easyx.h>
#include<mmsystem.h>//包含多媒体设备接口头文件

#pragma	comment(lib,"winmm.lib")//加载静态库

#define WIN_W 800
#define WIN_H 400

void BGM()
{
	//打开音乐		
	mciSendString("open ./belive.mp3", 0, 0, 0);//mci:多媒体设备接口  send:发送	string:字符串
	//播放音乐	repeat:重复播放
	mciSendString("play ./belive.mp3", 0, 0, 0);

}

int main()
{
	//创建窗口
	initgraph(WIN_W,WIN_H);

	//播放音乐
	BGM();


	//定义图片指针
	IMAGE picture;

	//加载并放置图片
	loadimage(&picture, "bk.jpeg", WIN_W, WIN_H);
	putimage(0, 0, &picture);

	//添加矩形
	setfillcolor(YELLOW);
	solidrectangle(75, 50, (WIN_W - 75), 135);

	//放置文字
	char str[] = "欢迎光临";
	setbkmode(TRANSPARENT);					//文字背景透明
	settextstyle(50, 0, "黑体");				//字体和颜色
	int textx = textwidth(str) / 2;			//文字宽度
	int texty = textheight(str) / 2;		//文字高度
	int win_x = (WIN_W - 2 * 75) / 2;		//格子宽度的一半
	int win_y = (135-50) / 2;				//格子高度的一半
		
	settextcolor(RED);
	outtextxy(75+ win_x - textx,  50+ win_y - texty, str);

	while (1)
	{

	}
	return 0;
}

代码中分模块介绍了,每个功能怎么实现

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天若有情673

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

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

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

打赏作者

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

抵扣说明:

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

余额充值