Jak zapisać bitmape do pliku png? Mamy projekt szkoly do którego potrzebny nam jest program który robi screena i zapisuje go do pliku png lun jpg. Znalazłem taki program na stornie https://causeyourestuck.io/2016/01/12/screenshot-c-win32-api/ ale nie wiem jak zapisać bitmape ze schowka do pliku png. Czytałem o CImage ale nie mama zielonego pojęcia jak to zastosować. Jeżeli ktoś by mógł pomóc będę wdzięczny.
#include <iostream>
#include <windows.h>
using namespace std;
void screenshot(POINT a, POINT b)
{
BITMAP bmp;
HDC hScreen = GetDC(NULL);
HDC hDC = CreateCompatibleDC(hScreen);
HBITMAP hBitmap = CreateCompatibleBitmap(hScreen, abs(b.x-a.x), abs(b.y-a.y));
HGDIOBJ old_obj = SelectObject(hDC, hBitmap);
BOOL bRet = BitBlt(hDC, 0, 0, abs(b.x-a.x), abs(b.y-a.y), hScreen, a.x, a.y, SRCCOPY);
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_BITMAP, hBitmap);
CloseClipboard();
SelectObject(hDC, old_obj);
DeleteDC(hDC);
ReleaseDC(NULL, hScreen);
DeleteObject(hBitmap);
}
int main()
{
POINT a,b;
a.x=386;
a.y=749;
b.x=686;
b.y=1049;
screenshot(a,b);
}