Создать изображение окна программы и сохранить в формате PNG
Хотелось бы при нажатии на кнопку программа делала снимок окна (в том разрешении в котором было открыто окно программы) и сохраняла в папку, чтобы в дальнейшем можно было воспользоваться. Подскажите каким образом можно это сделать и чтобы это сочеталось с SFML. Если это вообще возможно в том варианте в котором я описал:)
visual studio 2015 / c++ / sfml
#include <SFML\Graphics.hpp>
#include <iostream>
//#include <Windows.h>
//using namespace std;
using namespace sf;
struct Struct_SizeWindow {
int W = 1500, H = 1000, size = 1;
int w = size*W, h = size*H;
}; Struct_SizeWindow SizeWindow;
int main() {
RenderWindow window(VideoMode(SizeWindow.w, SizeWindow.h), "");
window.setPosition(Vector2i(500, 300));
int xPrimary = 0, yPrimary = 0, sizeShape = 4;
while (window.isOpen()) {
Vector2i PosXY = Mouse::getPosition(window);
Vector2f pos = window.mapPixelToCoords(PosXY);
Vector2i pos2 = Mouse::getPosition(window);
int x = pos.x / SizeWindow.size;
int y = pos.y / SizeWindow.size;
Vertex line[] = {
Vertex(Vector2f(xPrimary, yPrimary)),
Vertex(Vector2f(x, y))
}; xPrimary = x; yPrimary = y;
Event event;
while (window.pollEvent(event)) {
if (event.type == Event::Closed)
window.close();
}
for (int i = 0; i < 2; i++) {
window.draw(line, 2, sf::Lines); window.display();
}
}
}