easyx 用 loadimage 加载图片后显示不出来

1

为什么我导入图片运行没报错,跳出来的程序屏幕是空的

#include <graphics.h>
#include <conio.h>
#define WIDTH 800
#define HEIGHT 560

int main()
{
	IMAGE img;
	loadimage(&img, _T("2022-08-03_10.55.09.png"));
	initgraph(WIDTH, HEIGHT);
	putimage(WIDTH/1.25,HEIGHT/1.25, &img);
	_getch();
	return 0;
}

还请各位大佬回答一下。。。

ava
青苹果

2022-8-4

0

图片格式、图片路径等都可能有问题。

为了避免各种因素造成的问题,可以这样尝试:

先随便画点什么,然后 saveimage 保存到图片,然后再加载这个图片,看是否可以。

相关代码如下:

// 程序名称:保存、读取图片的范例代码
// 编译环境:VC2008 及以上版本,EasyX_20220610,Unicode 字符集
//
#include <graphics.h>
#include <conio.h>

int main()
{
	initgraph(640, 480); // 初始化图形窗口
	
	// 随便画点什么
	setlinestyle(PS_SOLID, 5);
	for(int i = 0; i < 100; i++)
	{
		setlinecolor(RGB(rand() % 256, rand() % 256, rand() % 256));
		circle(rand() % 640, rand() % 480, rand() % 200);
	}

	// 保存图片
	outtextxy(0, 0, L"按任意键保存图片到 output.png,请注意查看文件是否生成");
	_getch();
	saveimage(L"output.png");

	// 清空屏幕
	cleardevice();
	outtextxy(0, 0, L"按任意键后读取图片 output.png,并贴到窗口中");
	_getch();

	// 读取图片
	IMAGE img;
	loadimage(&img, L"output.png");
	putimage(0, 50, &img);

	_getch();
	closegraph();

	return 0;
}

如果最后可以显示图片,那就表示你的环境没问题。

然后,你可以尝试将你的图片替换到相同的路径中,看看是否有问题,以此检查是否是路径及图片格式造成的问题。

ava
慢羊羊

2022-8-5

技术讨论社区