DEV Community

dwarfŧ
dwarfŧ

Posted on

displaying images in sfml

Image description

step 1
first of all you need to install SFML. I am using kali linux and i found the linux installation guide here.

step 2
next you need to make a window i made a guide here but i will give you the code anyway. Enter this code into your preferred text/code editor:

#include <SFML/Graphics.hpp>  int main() { // create the window sf::RenderWindow window(sf::VideoMode(800, 600), "Hello window!"); // run the program as long as the window is open while (window.isOpen()) { // check all the window's events that were triggered since the last iteration of the loop sf::Event event; while (window.pollEvent(event)) { // "close requested" event: we close the window if (event.type == sf::Event::Closed) window.close(); } // clear the window with black color window.clear(sf::Color::Black); // draw everything here... // window.draw(...); // end the current frame window.display(); } return 0; } 
Enter fullscreen mode Exit fullscreen mode

then check that the window will display by compiling it with:g++ main.cpp -o main -lsfml-graphics -lsfml-window -lsfml-system and run it with: ./main

step 3
first you will need to find an image to use. i will be using this one:
mushroom

step 4
now we will implement the code. this is what the code for displaying the image on the window should look like:

note: on line 8 change the Mushroom.png to your file of choice.

#include <SFML/Graphics.hpp> #include <iostream>  int main(){ int x = 100; int y = 100; sf::RenderWindow window(sf::VideoMode(800, 600), "Hello Window"); sf::Texture texture; if (!texture.loadFromFile("Mushroom.png")) { std::cout << "Could not load enemy texture" << std::endl; return 0; } while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } window.clear(sf::Color::Black); sf::Sprite image; image.setTexture(texture); image.setPosition(sf::Vector2f(x,y)); image.scale(sf::Vector2f(1,1.5)); window.clear(); window.draw(image); window.display(); } return 0; } 
Enter fullscreen mode Exit fullscreen mode

step 4
we will compile this by doing: g++ -o main main.cpp -lsfml-graphics -lsfml-window -lsfml-system and then run it with: ./main

step 5
enjoy and have a good day.

Top comments (0)