EasyX添加图片+鼠标操作

添加图片 

定义图片变量名 

IMAGE 图片变量名;

  

 载入图片函数

loadimage(&图片变量名, "1.jpg", int width, int height);

 (说明:    width是图片拉伸后的宽度,height是图片拉伸后的高度。)

显示图片函数

putimage(int x, int y, &图片变量名);

 (说明:   x 是图片的左上角x轴坐标,y是图片的左上角y轴坐标。)

如果仅仅是这样,会出现红线,要消除红线,请看:

 EasyX字符集的问题(loadimage下面出现红线)_小吉.cpp的博客-CSDN博客

但是仅仅是这样操作,会出现图片不是透明的,如果想要把图片变成题目的,请看

(2条消息) EasyX添加透明图片_小吉.cpp的博客-CSDN博客

鼠标操作

ExMessage m;//定义一个消息变量
m = getmessage(EM_MOUSE);//获取鼠标消息
switch (m.message)
{

}

 

下面程序里面出现了 MOUSEMSG m,其实相当于建立了一个结构体 

(但是程序里面不用写这么完整)(IMAGE也同理) 


struct MOUSEMSG
{
	UINT uMsg;				 当前鼠标消息
	bool mkCtrl;			 Ctrl 键是否按下
	bool mkShift;			 Shift 键是否按下
	bool mkLButton;			 鼠标左键是否按下
	bool mkMButton;			 鼠标中键是否按下
	bool mkRButton;			 鼠标右键是否按下
	short x;				 当前鼠标 x 坐标
	short y;				 当前鼠标 y 坐标
	short wheel;			 鼠标滚轮滚动值 (120 的倍数)
};

 注意下面的程序里面,鼠标移动画小红点的操作

#include<easyx.h>
#include <graphics.h>
#include <conio.h>

int main()
{
	
	initgraph(640, 480);
	setbkcolor(RGB(164, 225, 202));
	cleardevice();
	MOUSEMSG m;		// 定义鼠标消息

	while (1) {
		ExMessage m;//定义一个消息变量
		m = getmessage(EM_MOUSE);//获取鼠标消息
		switch (m.message)
		{
		case WM_MOUSEMOVE:
			// 鼠标移动的时候画红色的小点
			putpixel(m.x, m.y, RED);
			break;

		case WM_LBUTTONDOWN:
			// 鼠标左击后,画一个小方块
			rectangle(m.x - 5, m.y - 5, m.x + 5, m.y + 5);
			break;

		case WM_RBUTTONUP:
			return 0;	// 鼠标右击退出程序
		}
	}

	// 关闭图形窗口
	closegraph();
	return 0;
}


上面是单击的作用

如果想要获取双击的消息,加上EX_DBCLICKS

initgraph(800,600,EX_DBCLICKS);

⭐作为一个真ikun,怎么不把我坤哥添加到程序里面呢

下面是把图片添加到程序里面的方法

 

右击框起来的地方,选择“打开所在文件夹” 

 然后把图片复制到里面,别忘了改文件名hh

 

#include<easyx.h>
#include <graphics.h>
#include <conio.h>

int main()
{
	IMAGE move, click;
	// 定义鼠标消息
	MOUSEMSG m;
	// 初始化图形窗口
	initgraph(1000, 800);
	setbkcolor(RGB(225, 224, 245));//数组背景颜色
	cleardevice();

	int w = 50, h = 50;
	loadimage(&move, _T("1.jpg"), w, h);
	loadimage(&click, _T("2.jpg"), w, h);

	while (1) {
		ExMessage m;//定义一个消息变量
		m = getmessage(EM_MOUSE);//获取鼠标消息
		switch (m.message)
		{
		case WM_MOUSEMOVE:
			// 鼠标移动
			cleardevice();
			putimage(m.x - w / 2, m.y - h / 2, &move);
            
			break;

		case WM_LBUTTONDOWN:
			// 鼠标点击
			cleardevice();
			putimage(m.x - w / 2, m.y - h / 2, &click);
			break;

		case WM_RBUTTONUP:
			return 0;	// 按鼠标右键退出程序
		}
	}

	// 关闭图形窗口
	closegraph();
	return 0;
}


运行效果

 按左键后

 (是不是暗藏玄只因,兄弟们)


版权声明:本文为m0_72853403原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>