精华内容
下载资源
问答
  • 想请教一下各位,我是哪里写错了吗,我想用easyx加载一张图片,但是怎么弄都只有一个黑框,根本不显示图片
  • 读取图片的技巧:将图片内嵌到_exe_文件中__easyx.doc 读取图片的技巧:将图片内嵌到_exe_文件中__easyx.doc
  • easyx C++语言编写的小球打砖块游戏,注释详细,砖块和小球都使用了图片进行替换,并添加了背景音乐。
  • VS导入easyx图形库

    千次阅读 多人点赞 2019-04-14 15:25:50
    下面,我将介绍如何在VS中导入easyx图形库。 下载easyx图形库 easyx图形库可以到官网下载。这里我下载的是2018春分版,下面也将以这个为例进行介绍。 下载完成之后,虽然是一个应用程序,但我们可以右键进行解压...

    初学C/C++的人应该都会一个疑惑,为什么C/C++不能进行图形编程?
    虽然C/C++没有自带的图形库,但我们可以自己导入其他图形库,想graphcis.h之类的。
    下面,我将介绍如何在VS中导入easyx图形库。

    下载easyx图形库

    easyx图形库可以到官网下载。这里我下载的是2018春分版,下面也将以这个为例进行介绍。
    下载完成之后,虽然是一个应用程序,但我们可以右键进行解压(如果右键没有这一选项,就去下载一个解压软件,如WinRAR),解压后的文件如图所示。
    在这里插入图片描述

    导入easyx图形库

    解压之后,将include中的两个文件放到VS相应include目录中,lib中的文件一样。
    如图所示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    将文件都拷贝到VS的目录下面之后,就成功导入easyx图形库了。可以写一个代码检测一下:

    #include "pch.h"
    #include <iostream>
    #include<stdlib.h>
    #include <graphics.h>
    #include<math.h>
    #include <windows.h>  
    
    DWORD WINAPI drawCircle(LPVOID lpParam) {
    	
    	double pi = 3.1415926;
    
    	for (int i = 0; i < 800; i++) {
    		int x = 200 + 100*cos(i*pi/400);
    		int y = 200 + 100*sin(i*pi/400);
    		putpixel(x, y, RED);
    		Sleep(10);
    	}
    	return 0;
    }
    
    DWORD WINAPI drawRectangle(LPVOID lpParam) {
    	int x, y;
    	for (int i = 0; i < 800; i++) {
    		if (i < 200) {
    			x = 500 + i;
    			y = 100;
    		}
    		else if (i < 400) {
    			x = 700;
    			y = 100 + (i-200);
    		}
    		else if (i < 600) {
    			x = 700 - (i - 400);
    			y = 300;
    		}
    		else {
    			x = 500;
    			y = 300 - (i - 600);
    		}
    		putpixel(x, y, RED);
    		Sleep(10);
    	}
    	return 0;
    }
    
    int main(){
    	initgraph(800, 400);
    	setbkcolor(YELLOW);
    	HANDLE hThread[2];
    	hThread[0] = CreateThread(NULL, 0, drawCircle, NULL, 0, NULL);
    	hThread[1] = CreateThread(NULL, 0, drawRectangle, NULL, 0, NULL);
    	WaitForMultipleObjects(2, hThread, TRUE, INFINITE); 	//等待子线程运行 
    	system("pause");
    	closegraph();          // 关闭绘图窗口
    	return 0;
    }
    
    
    展开全文
  • C++之设置背景图片(Easyx)

    千次阅读 多人点赞 2020-05-23 21:40:48
    C++之设置背景图片(Easyx) #include<easyx.h> #include<conio.h> int main() { initgraph(600, 600);//创建一个窗口 IMAGE background;//定义一个图片名. loadimage(&background,"resources\\...

    C++之设置背景图片(Easyx)

    #include<easyx.h>
    #include<conio.h>
    int main() {
    	initgraph(600, 600);//创建一个窗口
    	IMAGE background;//定义一个图片名.
    	loadimage(&background,"resources\\background.jpg",600,600,1);//从图片文件获取图像
    	putimage(0, 0, &background);//绘制图像到屏幕,图片左上角坐标为(0,0)
    	_getch();//防止程序关闭
    	closegraph();//关闭窗口
    	return 0;
    }
    

    效果图如下:
    在这里插入图片描述
    附上两个 l o a d i m a g e loadimage loadimage函数声明:

    void loadimage(IMAGE *pDstImg, LPCTSTR pImgFile, int nWidth = 0, int nHeight = 0, bool bResize = false);
    // 从图片文件获取图像(bmp/gif/jpg/png/tif/emf/wmf/ico)
    
    void loadimage(IMAGE *pDstImg, LPCTSTR pResType, LPCTSTR pResName, int nWidth = 0, int nHeight = 0, bool bResize = false);	
    // 从资源文件获取图像(bmp/gif/jpg/png/tif/emf/wmf/ico)
    

    第一个函数从左到右的参数为:保存图片对象的指针,图片文件名,图片拉伸宽度,图片拉伸高度,是否调整IMAGE适应图片大小。

    第二个函数:保存图片对象的指针,资源类型,资源名称,拉伸宽度,拉伸高度,是否调整IMAGE适应图片大小。

    展开全文
  • EasyX使用鼠标和背景图片

    千次阅读 2020-07-05 20:25:20
    outtextxy(100, 100, "你好,EasyX!"); MOUSEMSG mmsg; while (1) { //MouseHit(); mmsg = GetMouseMsg(); if (mmsg.mkLButton && mmsg.uMsg==WM_LBUTTONDOWN) { outtext('H'); MessageBox(NULL, "Hello", "H", MB...
    #include <graphics.h>
    #include <conio.h>
    #include <mmsystem.h>
    
    #pragma comment(lib,"winmm.lib")
    
    int main()
    {
    	initgraph(800,600);
    
    	IMAGE bk;
    	loadimage(&bk, "23.jpg", 800, 600);
    	putimage(0, 0, &bk);
    
    	mciSendString("open 童话镇.mp3 alias bm", NULL, 0, NULL);
    	mciSendString("play bm repeat", NULL, 0, NULL);
    
    
    	
    	line(100, 100, 400, 100);
    	line(350, 50, 400, 100);
    	line(350, 150, 400, 100);
    	line(100, 100, 100, 400);
    	line(100, 400, 150, 350);
    	line(100, 400, 50, 350);
    
    	circle(200, 200, 100);
    	setfillcolor(GREEN);
    	fillellipse(180, 200, 280, 300);
    
    	ellipse(100, 50, 200, 100);
    
    	setbkmode(TRANSPARENT);
    	outtextxy(100, 100, "你好,EasyX!");
    
    	MOUSEMSG mmsg;
    	while (1)
    	{
    		//MouseHit();
    		mmsg = GetMouseMsg();
    		if (mmsg.mkLButton && mmsg.uMsg==WM_LBUTTONDOWN)
    		{
    			outtext('H');
    			MessageBox(NULL, "Hello", "H", MB_OK);
    		}
    
    
    	}
    
    	getch();
    	mciSendString("pause bm", NULL, 0, NULL);
    	mciSendString("stop bm", NULL, 0, NULL);
    	closegraph();
    	return 0;
    }
    
    
    
    

     

    展开全文
  • EasyX学习

    千次阅读 多人点赞 2018-10-09 11:29:48
    天天玩黑白界面,前段时间突然看到一个图形界面库,虽然是各位前辈玩烂的东西,但是还是勾起了我的兴致。...EasyX的绘制函数,可以看看EasyX_Help,里面分类的也比较清楚。贴吧也有很多大佬踩过的坑可...

    天天玩黑白界面,前段时间突然看到一个图形界面库,虽然是各位前辈玩烂的东西,但是还是勾起了我的兴致。做了一个音乐播放器的。(有点像工作中在展讯平台画MMI)。还有几个问题未解决的问题以及纰漏的地方,要是被大佬翻到了,还请帮忙指正。

    先来一张定妆照,界面比较丑,就随便找了几张现有的UI画了一下

    EasyX的绘制函数,可以看看EasyX_Help,里面分类的也比较清楚。贴吧也有很多大佬踩过的坑可以参考。

    #include <graphics.h>
    #include <conio.h>
    #pragma comment(lib,"Winmm.lib")

    音乐播放调用了mciSendString接口。用起来方便是方便,但是有两个问题现在改没解决

    1、获取不到播放总时间以及当前时间

    //sprintf(mci_cmd, "%s %s%s %s", "status", MMI_PLAYER_MUSIC_PATCH, name_obj.name_list[Cur_player_index], "position");
    		sprintf(mci_cmd, "%s %s %s", "status", name_obj.name_list[Cur_player_index], "position");
    		mciSendString(mci_cmd, cur_timer, strlen(cur_timer), wnd);
    		cur_timer_int = atoi(cur_timer);
    		memset(cur_timer, 0, sizeof(cur_timer));
    		
    		
    		sprintf(cur_timer, "%.2ld:%.2ld:%.2ld", cur_timer_int/3600, (cur_timer_int / 60) % 60, (cur_timer_int % 3600) % 60);
    		music_name_width = textwidth(cur_timer);
    		outtextxy(MMI_TIMER_CUR_X , MMI_TIMER_Y, cur_timer);
    
        //sprintf(mci_cmd, "%s %s%s %s", "status", MMI_PLAYER_MUSIC_NAME, name_obj.name_list[Cur_player_index], "length");
    		sprintf(mci_cmd, "%s %s %s", "status", name_obj.name_list[Cur_player_index], "length");
    		mciSendString(mci_cmd, total_timer, strlen(total_timer), wnd);
    		total_timer_int = atoi(total_timer);
    		memset(total_timer, 0, sizeof(total_timer));
    		
    		
    		sprintf(total_timer, "%.2ld:%.2ld:%.2ld", total_timer_int/3600, (total_timer_int / 60) % 60, (total_timer_int % 3600) % 60);
    		music_name_width = textwidth(total_timer);
    		outtextxy(MMI_WINDOWS_WIDTH - MMI_TIMER_CUR_X - music_name_width , MMI_TIMER_Y, total_timer);

    返回的时间毫无意外都是0。

    2、关于循环播放的问题,

    一开始考虑用播放时间以及当前时间老判断是否播放下一首(或者重新播放当前歌曲),这个想法在第一个问题发现无法获取到播放时间只能毙了。

    而后翻看前辈们的资料,发现可以这样操作

    sprintf(mci_cmd, "%s %s %s", mci_cmd_string[play_state] ,name_obj.name_list[Cur_player_index - 1], "notify");
    mciSendString(mci_cmd, NULL, 0, wnd);

    这样就可以在 播放完成之后,向窗口的handle发送消息,我在这个消息里处理循环播放问题。由于创建窗口是直接调用了

    initgraph(MMI_WINDOWS_WIDTH, MMI_WINDOWS_HEIGHT);

    这代码又封装在库里,无从得知当前窗口的handle是哪个?怎么注册的?以及怎么在handle里获取这个消息。愚钝,到现在还没找到解决方案。。。

    主逻辑代码

    void main(int argc, char *argv[])
    {
    	MOUSEMSG  cur_mouse = {0};
    	char mci_cmd[64] = {0};
    	EASYX_STATE_INFO  play_state = EASYX_STATE_STOP;
    	HWND wnd = GetHWnd();
    	int timer_count = 0;
    	
    	//char cur_timer[]
    	
    	EasyxPlayerWindowsInit();
    	//initgraph(MMI_WINDOWS_WIDTH, MMI_WINDOWS_HEIGHT);
    	
    	sprintf(mci_cmd, "%s %s", "open", name_obj.name_list[Cur_player_index - 1]);
    	mciSendString(mci_cmd, NULL, 0, NULL);
    	
    	EasyxDisplayProgressTimer(play_state);
        
        while(1)
    	{
    		while(MouseHit())  //检测到鼠标动作
    		{
    			 cur_mouse = GetMouseMsg();  // 获取当前的鼠标消息
    			 switch(cur_mouse.uMsg)
    			 {
    				case WM_LBUTTONDOWN:  //鼠标左键按下
    				{
    					switch(EasyxCheckMouseArea(cur_mouse.x, cur_mouse.y))  //检测鼠标位置
    					{
    						case MOUSE_AREA_INFO_PLAYER:
    						{
                                if(EASYX_STATE_STOP == play_state)
    							{
    								play_state = EASYX_STATE_PLAY;	
    							}else if((EASYX_STATE_RESUME == play_state) || (EASYX_STATE_PLAY == play_state))
    							{
    								play_state = EASYX_STATE_PAUSE;
    							}else  //pause
    							{
    								play_state = EASYX_STATE_RESUME;
    							}
    							memset(mci_cmd, 0, sizeof(mci_cmd));
    							if(EASYX_STATE_PLAY == play_state)
    							{
    								sprintf(mci_cmd, "%s %s %s", mci_cmd_string[play_state] ,name_obj.name_list[Cur_player_index - 1], "notify");
    								mciSendString(mci_cmd, NULL, 0, wnd);  // 需要播放完了发消息回来MCI_NOTIFY_SUCCESSFUL
    							}else
    							{
    								sprintf(mci_cmd, "%s %s", mci_cmd_string[play_state], name_obj.name_list[Cur_player_index - 1]);
    								mciSendString(mci_cmd, NULL, 0, NULL);
    							}
    							
    							EasyxUpdateButton(play_state);
    						}
    						break;
                           case MOUSE_AREA_INFO_LEFT:
    							//处理播放
    							EasyxPlayerHanldeLeftOrRight(MOUSE_AREA_INFO_LEFT, play_state);
    							//EasyxPlayerDisplayTiteName(name_obj);
    							//更新界面
    							EasyxPlayerMainWindowsDsplay(play_state);
    							
    						break;
    						
    						case MOUSE_AREA_INFO_RIGHT:
    							//处理播放
    							EasyxPlayerHanldeLeftOrRight(MOUSE_AREA_INFO_RIGHT, play_state);
    							//EasyxPlayerDisplayTiteName(name_obj);
    							//更新界面
    							EasyxPlayerMainWindowsDsplay(play_state);
    						break;
    					}
    				}
    				break;
    			 }
    		}
            Sleep(200);
    	  }
        closegraph();
    }

    播放->鼠标检测->鼠标操作

    一、关于鼠标操作的问题,在EasyX官网找到鼠标操作不灵敏的解决方案

    // 定义变量,保存鼠标消息
    MouseMsg msg;
    
    // 游戏的主循环
    while(true)
    {
    	while (MouseHit())			// 当有鼠标消息的时候执行
    	{
    		msg = GetMouseMsg();	// 获取鼠标消息
    
    		switch(msg.uMsg)		// 根据不同的鼠标消息,执行不同的代码
    		{
    			case xxxx: 进行游戏运算(); break;
    			case xxxx: 进行游戏运算(); break;
    		}
    	}
    
    	绘制游戏内容();
    
    	Sleep(xx);					// 延时,降低 CPU 占用率
    }

    二、关于界面属性,造成闪烁的问题。

    进度条我是做了假数据的,在刷新进度条的过程中,发现会闪烁,采用如下解决方案

        IMAGE windows_buffer(MMI_WINDOWS_WIDTH, MMI_WINDOWS_HEIGHT);
        SetWorkingImage(&windows_buffer);  //下面的绘制动作都将画到当前的buffer里面
    	
    	putimage(0, 0, &bg_image);  //draw bg_image
    	putimage(MMI_BUTTON_LEFT_START_X, MMI_BUTTON_START_Y, &left_image);
    	putimage(MMI_BUTTON_RIGHT_START_X, MMI_BUTTON_START_Y, &right_image);
    	// 初始化状态先画暂停的图标
    	putimage(MMI_BUTTON_PLAYER_START_X, MMI_BUTTON_START_Y, &tmp_image);
    	putimage(MMI_PROGRESS_BAR_X, MMI_PROGRESS_BAR_Y, &progress_bar_empty_image);
    	//putimage(MMI_PROGRESS_BAR_X, MMI_PROGRESS_BAR_Y - 3, &progress_sild_image);
    	
    	//画title
    	EasyxPlayerDisplayTiteName(name_obj);
    	
    	// 画列表
    	EasyxPlayerDisplayNameList(name_obj);
    	//画播放的歌曲数量
    	EasyxPlayerDisplayIndex(name_obj);
    	
    	EasyxDisplayProgressTimer(state);
    	
    	SetWorkingImage();  //回到默认的绘制设备
    	
    	putimage(0, 0, &windows_buffer);  // 一次画上去,避免闪烁

    先将EasyX的工作空间设置到windows_buffer,此时绘制的图标就会在windows_buffer,全都绘制完成后,回到当前的工作空间。putimage将buffer的数据写倒当前空座空间,就能解决闪烁的问题

    三、关于图片资源的问题。

    为了把图片资源打包到生成的exe文件中,运行的时候只要拷贝exe即可,无需拷贝对应的图片资源。我使用的是VC6.0,VC6.0添加资源的方法如下

    下面是 VC6 嵌入资源的操作步骤:
    1. 创建资源文件
         1.1 打开 VC6,建立控制台应用程序,并建立相应 cpp 程序,确保可以正确编译执行。
         1.2 点菜单:File -> New...,选择 Files 中的 Resource Script,并在右侧 File 中写入名称 test,点 OK 添加到项目中。VC 会默 
    认打开 test.rc 文件,先关闭它,我们可以 FileView 找到新添加的 test.rc 文件。
         1.3 双击 test.rc,会在 Workspace 区中打开 ResourceView 视图,这里就是资源列表,起初是空的。
    2. 添加图片到资源文件中
         1.1 为了整齐,我们在项目路径下建立 res 文件夹,并将图片放入该文件夹内。举例,我们放入一个 bk.jpg 文件。
         1.2 切换到 ResourceView 视图,右击 test resources,选择 Import...,导入 res\bk.jpg 文件,之后再 Custom Resource Type 中 
    为资源取一个类型名称,例如"IMAGE",点 OK。此时 VC 会在"IMAGE"下默认创建一个 IDR_IMAGE1 的资源,并以二进制形式打开,关掉它。
         1.3 下面需要重命名资源。右击 IDR_IMAGE1,选 Properties,将 ID 一栏的 IDR_IMAGE1 修改为符合其意义的名称,例 
    如"Background",切忌,一定要加上英文的双引号。这时,资源中可以看到 "IMAGE" / "Background" (注意都有双引号)。
    3. 加载资源中的图片
         打开图片很简单,需要指定 资源类型 和 资源名称。例如我们前面的例子,资源类型是 "IMAGE",资源名称是 "Background",这样读 
    取:
         IMAGE img;
         loadimage(&img, "IMAGE", "Background");
         然后再 putimage 使用就可以了。
    
    备注:
    另外一种常用的加载资源的方法,就是资源名称直接使用 ID(不加双引号),我们需要用宏 MAKEINTRESOURCE 将 ID 转换为字符串。例如资源名 
    称修改为 IDR_BACKGROUND,可以这样加载:
         getimage(&img, "IMAGE", MAKEINTRESOURCE(IDR_BACKGROUND));
    后面就都一样了。
    
    最后,编译程序,资源文件会自动和 exe 打包在一起。

    注意加载资源的时候loadimage(&bg_image, "IMAGE", "IMAGE_EASYX_PLAY_BG");,要用加载资源的方式加载了,不然还是会以来目录下的图片资源

    四、windows下的文件搜索(只搜索一个文件夹)

    #define  MMI_PLAYER_MUSIC_NAME		".\\Music\\background.mp3"
    #define  MMI_PLAYER_MUSIC_PATCH    		".\\Music\\"
    
    bool EasyxPlayerSearchAllMusicFile(const char *patch, EASYX_NAME_LIST_INFO *name_obj)
    {
    	HANDLE hFind = 0;
    	WIN32_FIND_DATA FindFileData = {0};
    	char  searchFilePath[MAX_PATH] = {0};
    	int filename_count = 0;
    	bool ret_val = false;
    	
    	strcpy(searchFilePath, patch);
        strcat(searchFilePath, "*"); //必须在搜索路径后加入通配符(*), FindFirstFile才能正常运行
     
        hFind=FindFirstFile(searchFilePath, &FindFileData);
    	
        if (hFind != INVALID_HANDLE_VALUE)
    	{
    		do{
                if(FindFileData.dwFileAttributes!=FILE_ATTRIBUTE_DIRECTORY)//如果为文件,则打印文件名
    			{ 
                    //fprintf(outfile, "%s\n",FindFileData.cFileName);
    				if(EasyxPlayerIsMp3File(FindFileData.cFileName))
    				{
    					//strcpy(name_list[filename_count], FindFileData.cFileName);
    					strcpy(name_obj->name_list[name_obj->name_count], MMI_PLAYER_MUSIC_PATCH);
    					strcat(name_obj->name_list[name_obj->name_count], FindFileData.cFileName);
    					name_obj->name_count ++;
    					
    					if(!ret_val)
    					{
    						ret_val = true;
    					}
    				}
                }
            }while(FindNextFile(hFind, &FindFileData));
    	}
    
    	return ret_val;
    }
    
    bool EasyxPlayerIsMp3File(char *Full)
    {
    	char suffix[4] = {'m', 'p', '3', 0};
    	char Upper_suffix[4] = {'M', 'P', '3', 0};
    	bool is_mp3 = false;
    	
    	if(NULL == Full)
    		return false;
    	
    	if((NULL != strstr(Full, suffix)) || (NULL != strstr(Full, Upper_suffix)))
    		is_mp3 = true;
    	else
    		is_mp3 = false;
    	
    	return is_mp3;
    }
    
    char  *EasyxGetFullPatchByname(char *Full, char **name)
    {
    	char *p = NULL;
    	char find_char[] = "\\";
    	
    	// 入参检查
    	if((NULL == Full) || (NULL == *name))
    		return NULL;
    	
    	if(strstr(Full, find_char))
    	{
    		p = strrchr(Full, '\\');  //查找最后一个出现目标字符的指针
    		if(NULL == p)
    		{
    			return NULL ;  // 查找失败,返回NULL
    		}else
    		{
    			p ++;  // 需要丢弃这个查找的字符。查找返回的指针会包含这个查找的字符
    			strcpy(*name, p);
    			return p;
    		}
    	}else  //  完整路径中没有包含\\目录结构,那么这个完整路径可以作为文件名称返回
    	{
    		strcpy(*name, Full);
    		return Full;
    	}
    	
    }

    以上

    展开全文
  • VS2017如何导入Easyx图形库

    万次阅读 多人点赞 2018-11-08 13:53:58
    下载之后解压到自己指定的文件夹,以下图片是我的路径。 然后在VS2017的安装路径中找到VC文件夹,双击打开,可以看到Auxiliary文件夹,再双击打开,看到VS文件夹,双击打开,就可以看到我们要找的include和lib...
  • vs2015 + EasyX loadimage()用法,和把图片添加为项目资源
  • Easyx基础知识

    千次阅读 多人点赞 2016-03-28 09:24:42
    1.#include //为Easyx库的头文件 2.initgraph(x,y); //初始化x*y大小的绘图屏幕 3.closegraph(); //关闭绘图屏幕 4.Sleep(n); //延时n毫秒 5.System("pause"); //起暂停作用,用户随机输入继续运行 6.initgraph...
  • EasyX贴图教程

    千次阅读 多人点赞 2019-04-13 19:24:00
    素材 jpg或者bmp格式的图片一张 使用外部文件形式贴图 #include<iostream> #include<graphics.h> //图形库 需要额外安装 using namespace std; int main() { initgraph(640, 480);//新...
  • 具体操作:先选择资源视图,再右键添加资源,导入你的图片,部分需要自己添加资源类型,按图片后缀添加即可 然后返回解决方案资源管理器 右键资源下刚才生成的xxx.rc,选择查看代码 向下滑动,找到与你添加图片有关...
  • EasyX图像界面库

    2018-04-04 16:06:13
    使用C语言来编写界面的超实用的界面库,易学,易懂,上手快;
  • EasyX帮助文档

    千次阅读 多人点赞 2012-07-23 15:28:37
    EasyX指导手册 制作人:jianxiawzx 一、基本概念 1.1 颜色 EasyX 使用 24bit 真彩色,不再支持调色板模式。 表示颜色有以下几种办法: 1. 用预定义颜色常量,如下: 常量 值 ...
  • 安装EasyX-VC2019

    千次阅读 2019-11-23 14:39:43
    VC2019安装VC2019安装VS2019下载EasyX测试运行如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚...
  • 使用 EASYX 载入PNG图并透明背景

    千次阅读 多人点赞 2019-10-26 15:36:09
    该版本可以插入PNG图片,但不能做到去透明化,如下图: 虽然我的png图载入了,但是透明部分也会变成黑色,明显没有透明化,下面就是解决这个问题的方法。 #include <conio.h> #include <graphics.h>...
  • EasyX使用笔记

    2021-01-16 19:52:55
    插入图片资源 (首先要把图片资源放入项目文件夹中) 1.定义图片变量,和存储int类型一样,即IMAGE img;(注意IMAGE不能小写) 2.load加载 loadimage(&image,“图片路径”,,宽度,高度) 如果是背景图片则跟initgraph...
  • 首先导入图片 #include<graphics.h> #include<conio.h> int main() { initgraph(350, 600); IMAGE img_bk; //define IMAGE对象 loadimage(&img_bk, "D:\\background.jpg"); //读取图片到...
  • 图片bg.jpg放在项目目录下,运行下面程序却无法加载图片。 解决方法:更换一张图片
  • 2048 c与easyx库实现

    2014-05-01 00:07:25
    使用easyx库实现的电脑端exe程序,具备基础游戏功能,由兴趣小组开发完成, 编码之路;相互学习;
  • VS下载安装EasyX

    2021-03-14 14:37:22
    VS下载安装EasyX 1、打开官网,直接点击下载 2、打开下载的exe文件,按指示点击 3、安装成功,VS打开无错误 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何...
  • 添加图片+添加声音 2.C语言代码: 【代码素材文件、工程文件】:https://ws28.cn/f/2auwqrnj5ig 或者:https://download.csdn.net/download/weixin_43503632/12331258 若链接失效,下方评论我会再发 #include #...
  • VS2019设置easyx图形库

    2021-04-07 19:55:23
    下载easyx图形库 我这里提供的是EasyX_2020 ...提取码:stqt ...导入easyx图形库 解压之后,将include中的两个文件放到VS相应include目录中,lib中的文件一样。 如图所示。 vs按照你自己的安装路径去查看 ...
  • 基于easyx 下用C播放音乐

    千次阅读 多人点赞 2018-12-10 21:26:23
    基于easyx 下用C播放音乐 这里做一个简单的范例,用 mciSendString 函数播放 MP3 格式的音乐,先看看代码吧: // 编译该范例前,请把 background.mp3 放在项目文件夹中 // 发布时,请把 background.mp3 和编译的 exe...
  • C语言图形库——EasyX基本贴图

    千次阅读 多人点赞 2019-09-08 17:50:49
    在C语言的学习过程中,接触最多的就是黑乎乎的DOS窗口,这也是在消磨学习者的兴趣,学到最后可能还不知道C语言到底能做什么,难道...做游戏、做动画一定要用到图片、音频等,怎么用C语言显示出来呢?这里我们就要用...
  • EasyX图形库loadimage()用法

    万次阅读 多人点赞 2016-10-29 20:35:59
    LoadImage()是一种函数,功能是装载图标,光标,或位图。...// 从图片文件获取图像 void loadimage(  IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针  LPCTSTR pImgFile, // 图片文件名  int nWidth = 0, 
  • Easyx库-贪吃蛇小游戏

    千次阅读 2016-03-28 13:26:19
    #pragma comment(lib,"Winmm.lib") //导入音乐头文件 IMAGE img,right,stop,play,fail,change; //定义背景,右边,游戏暂停,正在游戏,游戏失败,分数改变图片 int NUM=3; //节点个数 char score[5]; //存储分数的...
  • 添加链接描述 上面链接是5天前一位大佬发的 使用Easyx,可以使用诸如<graphics.h><Easyx.h>之类的头文件 用于绘制图形与处理图片文件
  • easyx 图像库非常好用

    2011-04-09 22:52:56
    让vc支持图像显示,而且是真彩,操作方便,使用于初学者,对于大家学习图像显示原理,有很好的帮助。

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 182
精华内容 72
关键字:

easyx导入图片