要实现此功能需要用EasyX

一、下载VS编译环境和EasyX。

①Vs2019https://iwx.mail.qq.com/ftn/download?func=3&key=9e9b6c33e513484cace8193335323333017f223337323333444b0f560001035152001a05070b521e555206511a5350070049560152510551565d01505405393337370503060b1d56190123174920d47f9e63d1c0bd45f9051974cfbbb19578&code=ad737233&k=9e9b6c33e513484cace8193335323333017f223337323333444b0f560001035152001a05070b521e555206511a5350070049560152510551565d01505405393337370503060b1d56190123174920d47f9e63d1c0bd45f9051974cfbbb19578

Vs2019对应下载EasyXhttps://iwx.mail.qq.com/ftn/download?func=3&key=9cce4637e213181aaebd1a37323263652c7e313730326365461e0506560757045004195655505148570807021d0b0604561c57020307560001520404030b42652650474e68dbe3e784a59cd38abc15165101050ed7bbeb83ff9d1c06191c061d062507eeb304ca181b7a11f670811d47da3198264a8e&code=c14702ce&k=9cce4637e213181aaebd1a37323263652c7e313730326365461e0506560757045004195655505148570807021d0b0604561c57020307560001520404030b42652650474e68dbe3e784a59cd38abc15165101050ed7bbeb83ff9d1c06191c061d062507eeb304ca181b7a11f670811d47da3198264a8e

②Vc2010由于是离线包上传不了,需要的关注并@我,免费发.

vc2010对应下载的EasyXhttps://iwx.mail.qq.com/ftn/download?func=3&key=c69d4261e7401919f4ee1961376162667caf3e61356162661c4d5504535404025f561a550207534b0d00010218005650084f54590d0707540d070700040746667c0344186d88e2e4def69f858fef14150b520658d1dac78281e9d0e8bd87feca17074f0421db87d5786918c3aa53f2ae877a17e2ea1d14d868&code=9b7a5abf&k=c69d4261e7401919f4ee1961376162667caf3e61356162661c4d5504535404025f561a550207534b0d00010218005650084f54590d0707540d070700040746667c0344186d88e2e4def69f858fef14150b520658d1dac78281e9d0e8bd87feca17074f0421db87d5786918c3aa53f2ae877a17e2ea1d14d868

二、vc2010以及vs2019详细安装与使用教程在我主页有。

三、EasyX安装教程。(以Vc2010对应的为例,Vs2019对应的安装方法一样)

以下流程都是在vc2010上 的操作。

找到下载好的EasyX并打开

打开后点击下一步

之后它会自动识别你所下载的编译环境,点击安装即可,只要电脑内存大全安装也没有问题。安装之后就行了,编译环境就能用相关函数了

四、源代码简单直接上代码

加载音乐与EasyX无关

加上2#include <MMSystem.h>//播放音乐的头文件

4 #pragma comment(lib,"winmm.lib")//播放音乐用

而1 #include <graphics.h>是引用EasyX的头文件

 1 #include <graphics.h>
2 #include <MMSystem.h>//播放音乐的头文件
3 #include <stdlib.h>
4 #pragma comment(lib,"winmm.lib")//播放音乐用
5 int main(void)
6 {
7
8 initgraph(1029, 989);//创建一个窗口,1029像素宽,989像素高
9
10 loadimage(0, "bg.jpg.jpg");//把图片加载到当前窗口
11 mciSendString("play bg.mp3.mp3 repeat",0,0,0);//加载音乐并播放
12 system("pause");
13 closegraph();//把当前窗口关闭
14 return 0;
15 }

loadimage(0, "bg.jpg.jpg");图片的引用若加载失败主要有两个原因

一是图片引用问题;二是编译环境问题。在这讲图片的引用问题,下面的五讲编译环境的修改。

图片引用问题主要有:图片的名称不对,图片名为“bg.jpg”你会发现你引用时也写“bg.jpg”但运行没反应。解决方案:引用文件命名后多加一个.jpg即为“bg.jpg.jpg”;如果还是不行就可能是图片本身的问题,解决方案:用电脑带的画画的打开方式打开图片然后另存为即可。

调用图片需要把所要调用的图片存在源文件所在的文件夹里(所调用的音乐也要放在源文件所在的文件夹里,音乐为mp3格式)

可以右键源文件->打开所在的文件夹

注意图片格式要为jpg

五、注意运行失败的编译环境问题(个人感觉Vs2019没vc2010的编译环境好用)

 loadimage(0, "bg.jpg.jpg");//把图片加载到当前窗口此语句易出错

排除图片引用问题,若出错就很可能是字符集问题修改了,需要把字符集改为“使用多字符字符集”

六、在vs2019环境运行与vc2010环境运行类似

需要特别注意的就是, #include <graphics.h>语句总是运行不了,报错找不到指定文件(必须要安装对应的EasyX并运行安装vs2019),这时别慌。

右键->项目->属性->c/c++->常规->使用Windows运行扩展 是/ZW(注意是选择的不是自己输的,在点那个选项时,在所点选项的最右边选)

//最后

不期而遇是源,再遇就为文件

谢谢支持,共同进步。不足之处一直有,请不吝赐教。//

用c语言调用Easy X实现图像的输出,附带音乐的读取的更多相关文章

  1. Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结

    Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结 1.1. 边缘检测的基本方法Canny最常用了1 1.2. 编写matlab边缘检测代码, ...

  2. C++ 编写DLL文件给易语言调用

    摸索了两天了,终于解决了所有问题,在此跟大家分享. 需要三个文件,dll_demo.h.dll_demo.cpp.dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEM ...

  3. Golang通过Thrift框架完美实现跨语言调用

    每种语言都有自己最擅长的领域,Golang 最适合的领域就是服务器端程序. 做为服务器端程序,需要考虑性能同时也要考虑与各种语言之间方便的通讯.采用http协议简单,但性能不高.采用TCP通讯,则需要 ...

  4. Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

    目录: 一.什么是Thrift? 1) Thrift内部框架一瞥 2) 支持的数据传输格式.数据传输方式和服务模型 3) Thrift IDL 二.Thrift的官方网站在哪里? 三.在哪里下载?需要 ...

  5. windows下C语言调用系统文件选择对话框

    代码片段,在windows下用C语言调用文件选择对话框,以备忘 #define DEFAULT_DIR "" char extraction_path[MAX_PATH] = DE ...

  6. 网页控制脚本修改系统信息 C语言调用uci

    0 交叉编译生成程序 http://tuntuntun.net/%E5%9C%A8OpenWrt%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%AC%AC%E4%B8%80%E4%B8% ...

  7. 跨语言调用Hangfire定时作业服务

    跨语言调用Hangfire定时作业服务 背景 Hangfire允许您以非常简单但可靠的方式执行后台定时任务的工作.内置对任务的可视化操作.非常方便. 但令人遗憾的是普遍都是业务代码和hagnfire服 ...

  8. C++ 跨语言调用 Java

    C++ 跨语言调用 Java Java JDK 提供了 JNI 接口供 C/C++ 程序调用 Java 编译后的类与方法,主要依赖于头文件(jni.h) 和 动态库(jvm.so/jvm.dll),由 ...

  9. 使用c语言调用python小结

    近期在做一个漏洞展示平台,攻击实现部分使用python实现.c语言实现部分使用libcli库做一个类似telnet的东东,回调函数run的时候调用python模块. 针对c调用python,做个了小d ...

随机推荐

  1. js技术之根据name获取input的值

    一.前端的代码 <p>Name: <input type='text', name = 'name'/></p> <p>Age: <input t ...

  2. 基于HTML5的拓扑图编辑器(2)

    继续来说编辑器的需求, 前面介绍了拖拽创建节点.以及连线的方法,并加入到了其后的 Qunee 类库,实际应用中需要更多功能,Qunee 的拓扑图编辑器也在逐渐完善,一方面增加多种编辑交互,一方面提供数 ...

  3. 记一个ios滚动穿透问题

    直接上代码 <body style="overflow: hidden;-webkit-overflow-scrolling: touch;"> <div id= ...

  4. TTL 机制排毒,线上k8s的Job已经通过API 增加了Job的TTL 时长,且成功响应,为什么系统还是清理了Job?

    TTL 机制排毒,线上k8s的Job已经通过API 增加了Job的TTL 时长,且成功响应,为什么系统还是清理了Job? 面试官:"已完成 Job 的 TTL 机制了解嘛?简单说说TTL存在 ...

  5. DB2表数据导出、导入及常用sql使用总结

      一.DB2数据的导出: export to [path(例:D:"TABLE1.ixf)]of ixf select [字段(例: * or col1,col2,col3)] from ...

  6. MySQL中 tinyint、bigint、bit、text、decimal、year、date、time、datetime、timestamp等对应Java中什么类型

    MySQL中字段名称对应的Java类型 MySQL字段名 Java数据类型 varchar String text String bigint Long(已经有长度了,在mysql建表中的length ...

  7. jdbc连接数据库以及简单实现(普通JDBC方法实现和连接池方式实现)

    @ 目录 总结内容 1. 基本概念 jdbc的概念 2. 数据库连接 数据库的连接 DAO层思想 重构设计 3. 事务 概念 事务的ACID属性 事务的操作 4. 连接池 为什么要使用连接池 连接池分 ...

  8. 微信小程序HTTP接口请求封装

    1.方法封装(新建文件夹util,工具文件,在文件夹下创建request.js文件,用于对方法封装)request.js: var app = getApp(); //项目URL相同部分,减轻代码量, ...

  9. springcloud报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'armeriaServer' defined in class path resource

    spring boot配置zipkin 无法启动 加入 Zipkin Server 由于需要收集 Spring Cloud 系统的跟踪信息,以便及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根 ...

  10. datasets数据读取器

    #切分数据集 img_dir = train_parameters['img_dir'] file_name = train_parameters['file_name'] df = pd.read_ ...