SFML loadFromFile 不显示图像
SFML loadFromFile not showing image
我一直在尝试在 C++ VS 2013 中使用 SFML 输出图像,但是当我使用 loadFromFile 时,它没有显示任何内容,我已经检查了工作目录,它是项目目录和图像在其中的一个文件中。这是代码:-
#include "stdafx.h"
#include <iostream>
#include <SFML/Graphics.hpp>
int main(){
sf::VideoMode videomode(800, 800);
sf::RenderWindow window(videomode, "HEllO");
sf::Sprite sprite;
sf::Texture texture;
texture.loadFromFile("Images\aline.png");
sprite.setTexture(texture);
sprite.setPosition(200, 200);
while (window.isOpen()){
window.clear();
window.draw(sprite);
window.display();
sf::Event event;
while (window.pollEvent(event)){
if ((event.type == sf::Event::Closed))
window.close();
}
}
}
我的图片所在的地方:
Documents\Visual工作室2013\Projects\ConsoleApplication1\ConsoleApplication1\Images
工作目录:-
$(项目目录)
如果你知道为什么会这样,请帮助我。如果问题是 stupid/obvious,我很抱歉。
两个明显的改变是:
- 检查
loadFromFile()
中的 return 值 - 它实际上会告诉您它是否认为它成功了。
- 您的代码
texture.loadFromFile("Images\aline.png");
应该是 texture.loadFromFile("Images/aline.png");
。
你的代码没问题。但请确保您不要混用 Debug/Release 库。如果您将它们混合在一起,您的照片将不会显示在屏幕上。从评论中控制台输出中的奇怪字符意味着您确实将发布库与调试模式或 vise-versa 链接在一起。
改变
texture.loadFromFile("Images\aline.png");
到
texture.loadFromFile("Images/aline.png");
// ^
或者如果在 Windows 上,\
应该也可以。
texture.loadFromFile("Images\aline.png");
我一直在尝试在 C++ VS 2013 中使用 SFML 输出图像,但是当我使用 loadFromFile 时,它没有显示任何内容,我已经检查了工作目录,它是项目目录和图像在其中的一个文件中。这是代码:-
#include "stdafx.h"
#include <iostream>
#include <SFML/Graphics.hpp>
int main(){
sf::VideoMode videomode(800, 800);
sf::RenderWindow window(videomode, "HEllO");
sf::Sprite sprite;
sf::Texture texture;
texture.loadFromFile("Images\aline.png");
sprite.setTexture(texture);
sprite.setPosition(200, 200);
while (window.isOpen()){
window.clear();
window.draw(sprite);
window.display();
sf::Event event;
while (window.pollEvent(event)){
if ((event.type == sf::Event::Closed))
window.close();
}
}
}
我的图片所在的地方: Documents\Visual工作室2013\Projects\ConsoleApplication1\ConsoleApplication1\Images
工作目录:- $(项目目录)
如果你知道为什么会这样,请帮助我。如果问题是 stupid/obvious,我很抱歉。
两个明显的改变是:
- 检查
loadFromFile()
中的 return 值 - 它实际上会告诉您它是否认为它成功了。 - 您的代码
texture.loadFromFile("Images\aline.png");
应该是texture.loadFromFile("Images/aline.png");
。
你的代码没问题。但请确保您不要混用 Debug/Release 库。如果您将它们混合在一起,您的照片将不会显示在屏幕上。从评论中控制台输出中的奇怪字符意味着您确实将发布库与调试模式或 vise-versa 链接在一起。
改变
texture.loadFromFile("Images\aline.png");
到
texture.loadFromFile("Images/aline.png");
// ^
或者如果在 Windows 上,\
应该也可以。
texture.loadFromFile("Images\aline.png");