прежде всего извините за мой плохой английский, Здравствуйте, я новичок в этом форуме, у меня вопрос, это головная боль, ну, я все еще ищу всех на этой странице и других, я не могу найти решение сначала мне нужно создать снимок экрана и сохранить его в байтовом массиве jpeg, мой код прост и создать HBITMAP, но проблема в том, чтобы преобразовать его в массив, вот мой код:
int takeScreenShoot(){
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
HDC screenDC,memDC;
HBITMAP screenBITMAP;
screenDC= GetDC(NULL);
memDC= CreateCompatibleDC(screenDC);
int Height = GetSystemMetrics(SM_CYSCREEN);
int Width = GetSystemMetrics(SM_CXSCREEN);
screenBITMAP = CreateCompatibleBitmap(screenDC,Width,Height);
BitBlt(memDC,0,0,Width,Height,screenDC,0,0,SRCCOPY);
/*
use GDIplus for transform the image to JPEG and pass to a byte stream
or somethig like that
*/
ReleaseDC(NULL,memDC);
ReleaseDC(NULL,screenDC);
return 0;
}
хорошо, этот код, если для практики я пытаюсь использовать класс Image из GDI +, а также Bitmap, но я не нахожу способ сохранить его в байтовом массиве, на некоторых страницах говорят об использовании IStream, но мне сложно понимаю, мне нужен кто-то, чтобы правильно направить меня, заранее спасибо за помощь: D