要实现此功能需要用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. d面试题汇总

    HTML Doctype作用,HTML5 为什么只需要写<!DOCTYPE HTML>? html5有哪些新特性?移除了哪些元素? 简述一下你对HTML语义化的理解? 行内元素有哪些,块级 ...

  2. 微信小程序获取当前时间戳、获取当前时间、时间戳加减

    //获取当前时间戳 var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; console.log("当前 ...

  3. 安卓电池健康查看软件AccuBattery 分享

    一.天下苦秦久矣 说实话,我是小米的忠实粉丝(雷总打钱),手里目前是红米k30pro标准版, 室友中有用华为也有苹果的,据我所知苹果系统是可以看到电池健康的,但是安卓却不行, 所以推荐大家一个安卓软件 ...

  4. kafka快速入门到精通

    目录 1. 消息队列两种模式 1.1 消息队列作用 1.2 点对点模式(一对一,消费者主动拉取数据,消息收到后消息删除) 1.3 发布/订阅模式(一对多,消费数据之后不会删除消息) 1.4 kafka ...

  5. zabbix使用自带模板监控MySQL

    监控mysql不能直接使用zabbix自带模板,还需要到被监控的mysql客户端做配置. 1.在zabbix   web配置步骤如下图: 2.配置完之后去看mysql主机监控项的时候看到mysql的监 ...

  6. STL空间分配器源码分析(三)pool_allocator

    一.摘要 pool_allocator是一种基于单锁内存池的空间分配器,其内部采用内存池思想,通过构建16个空闲内存块队列,来进行内存的申请和回收处理.每个空闲队列管理的内存块大小固定,且均为8的倍数 ...

  7. 腾讯云OCR服务二次开发

    本文记录了对腾讯云OCR服务二次开发的代码和开发过程中遇到的问题.

  8. vue elementUI 之 this.$confirm 用法

      this.$confirm('您确定退出当前账号吗?', '提示', {                         confirmButtonText: '确定',             ...

  9. SSL及GMVPN握手协议详解

    之前写过一篇文章搞懂密码学基础及SSL/TLS协议,主要介绍了加密学的基础,并从整体上对SSL协议做了介绍.由于篇幅原因,SSL握手的详细流程没有深入介绍.本文将拆解握手流程,在消息级别对握手进行详细 ...

  10. HCIE笔记-第四节-MAC地址+网络层

    mac地址 = 显示16进制 = 12个16进制数 二进制[逢2进1] 0/1 = 0/1 10=2 11=3 100=4 101=5 110=6 111=7 1000=8 1001=9 1010=1 ...