为什么我的图形都可以正常显示,图片却加载不出来呢?

0

环境是vs2019

图形都可以显示,但图片就完全不行,甚至还会未响应。

我去网上找了示例程序抄下来也显示不出来,相对路径,绝对路径都试过了,就只能画出窗口不能显示图片。

#include<iostream>
#include<graphics.h>

using namespace std;

int main()
{
	initgraph(640, 480);//新建窗口

	IMAGE img; //准备图片

	loadimage(&img, _T("C:\\Users\\14464\\Desktop\\ConsoleApplication1\\time.jpg"));

	putimage(0, 0, &img); 
	cin.get();
	closegraph(); 
	return 0;
}

我从网上找到的这一段另外运行了一下还是不行。是2019的问题吗?有时候还会未响应。

ava
多功能混蛋

2020-7-14

0

可能是权限所致。

你试着把图片放到别的盘,或者用画图画一张图片另存到别的盘试试。不要放到桌面。

另外你可以试试以下代码:

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

int main()
{
	// 创建一个 IMAGE 对象,并存为 test.jpg
	IMAGE img(300, 300);
	SetWorkingImage(&img);
	solidcircle(150, 150, 100);
	saveimage(_T("test.jpg"), &img);

	// 创建绘图窗口,并加载 test.jpg,显示到绘图窗口
	initgraph(640, 480); // 初始化图形窗口
	IMAGE img2;
	loadimage(&img2, _T("test.jpg"));
	putimage(0, 0, &img2);

	// 按任意键退出
	_getch();
	closegraph();

	return 0;
}

这段代码先在 IMAGE 对象里面画一个圆,并存为 test.jpg 文件。然后再加载 test.jpg 并显示。

你试试看,执行后你的项目文件夹里面是不是有一个 test.jpg 文件?如果存在,你可以去掉生成 test.jpg 的代码,只用读取图片的代码读取 test.jpg,看看能不能显示。

ava
慢羊羊

2020-7-14

感谢您的帮助,但我都试了,还是不行 -  多功能混蛋  2020-7-15
@多功能混蛋 我给你补充了一个代码,你试试。 -  慢羊羊  2020-7-15
技术讨论社区