Мне в принципе наверное понятна основная суть проблемы - я недавно тоже пытался реализовать загрузку изображения из памяти и вывод в окно, чтоб не использовать фун-ю FileInstall() с последующей загрузкой из картинки из файла, но, во первых, у меня с недавних пор очень мало свободн. времени, а во вторых, я не очень дружу с типизированными ЯП(а то бы давно уже кодил на С++).
Поэтому попытка реализации пока безуспешна...
Вот, то что удалось нагуглить по теме(ссылки на исходники С++) -
для загрузки
BMP, GIF, JPEG/JPG, ICO, WMF, EMF и др. ресурсов
для загрузки
PNG
Вот код скопированный из функции _ScreenCapture_Capture ($h_Src_Img - хендл обьекта для копирования):
Код:
Local $hWnd = _WinAPI_GetDesktopWindow()
Local $hDDC = _WinAPI_GetDC($hWnd)
Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iW, $iH)
_WinAPI_SelectObject($hCDC, $hBMP)
_WinAPI_BitBlt($hCDC, 0, 0, $iW, $iH, $hDDC, $iLeft, $iTop, $h_Src_Img)
Все остальные функции WinAPI нужно обрабатывать через DllCall - у меня в версии 3.3.2.0 для них еще UDF-обертку не прикрутили.