要实现此功能需要用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. simulink仿真过程

    Simulink求解器 Simulink仿真过程 Simulink 模型的执行分几个阶段进行.首先进行的是初始化阶段,在此阶段,Simulink 将库块合并到模型中来,确定传送宽度.数据类型和采样时间 ...

  2. Architecture Review Board

    Architecture Review Board What's an Architecture Review? Architecture design is not a one-time final ...

  3. 如何0代码实现多人音视频通话?【内附源码/Demo】

    3月15日新增"1860+1194",全国进入了抗疫关键时期.响应政策多地采取了社会面清零策略. 3月14日零点,深圳按下了暂停键. 应疫情防控要求,深圳全市暂停生产经营活动,严格 ...

  4. google fonts 国内使用解决方案

    由于众所周知的原因,国内使用google font库有很大的问题. 解决方案1:使用国内镜像如360网站卫士常用前端公共库CDN服务 优点:使用方便 缺点:目标用户包含国外的开发者,不清楚国外用户的加 ...

  5. 设计模式之:抽象工厂模式AbstractFactoryPattern的实现

    相比于工厂模式,抽象工厂模式的每个工厂可以创建产品系列,而不是一个产品: 抽象工厂用到的技术:接口.多态.配置文件.反射: 抽象工厂模式的设计原则: 实现客户端创建产品和使用产品的分离,客户端无须了解 ...

  6. android.content.res.Resources$NotFoundException: String resource ID #0x0报错

    报错:android.content.res.Resources$NotFoundException: String resource ID #0x0 原因:在setText()中使用了int型的参数 ...

  7. Mybatis 实现批量插入和批量删除源码实例

    Mybatis 实现批量插入数据和批量删除数据 学习内容: 准备工作 1.数据库新建表 2.新建 Maven 项目和设置编译版本及添加依赖 3.新建 db.properties 4.新建 mybati ...

  8. Java中if else条件判断语句的执行顺序

    学习目标: 掌握 if else 条件判断的使用 学习内容: 1.if语法 if(boolean表达式) { 语句体; } if后面的{}表示一个整体-代码块,称之为语句体,当boolean表达式为t ...

  9. 理解Promise函数中的resolve和reject

    看了promise的用法,一直不明白里面的resolve和reject的用法: 运行了这两段代码之后彻底理解了promise的用法: var p = new Promise(function (res ...

  10. 输入n,然后输入n个数,使它升序输出

    #include<iostream> using namespace std; int main() { int n,i,j,m,k; cin>>n; int a[n];  f ...