Я занимаюсь разработкой приложения MFC, в котором мне нужно захватить рабочий стол и сохранить его как векторное изображение.
Я могу сделать снимок экрана как .BMP
и записать его в буфер обмена с помощью следующего кода.
int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
HDC hDesktopDC = GetDC(NULL);
HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC,
nScreenWidth, nScreenHeight);
HGDIOBJ old_obj = SelectObject(hCaptureDC,hCaptureBitmap);
BitBlt(hCaptureDC,0,0,nScreenWidth,nScreenHeight,
hDesktopDC,0,0,SRCCOPY|CAPTUREBLT);
// save bitmap to clipboard
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_BITMAP, hCaptureBitmap);
CloseClipboard();
// clean up
SelectObject(hCaptureDC, old_obj);
DeleteDC(hCaptureDC);
ReleaseDC(NULL, hDesktopDC);
DeleteObject(hCaptureBitmap);
Но я ищу нечто похожее, что позволило бы мне сделать снимок экрана в виде векторного изображения и поместить в буфер обмена ;Итак, я могу читать как ЭДС из буфера обмена.Я попытался выполнить поиск функций MFC для преобразования растровых изображений в векторные изображения из буфера обмена, но ничего полезного не нашел.