Robię zrzuty ekranu przeglądarki IE przy użyciu programu PrintWindow. Problem polega na tym, że czasami uzyskuję obrazy z czarnymi obszarami. Może to być cała zawartość html, która jest czarna, niektóre razy tylko niektóre obszary są czarne.Czarne zdjęcia podczas robienia zrzutów ekranu za pomocą programu PrintWindow
Treść IE NIE zmienia się pomiędzy robieniem zdjęć.
Co jest dziwne, że na niektórych komputerach uzyskuję czarne obrazy bardzo późno, na niektórych nigdy ich nie dostaję.
Testowałem z Fx i miałem te same czarne obrazy.
HBITMAP ShootWindow(HWND hWnd)
{
RECT rect = {0};
GetWindowRect(hWnd, & rect);
HDC hDC = GetDC(hWnd);
if(hDC == NULL)
throw "GetDC failed.";
HDC hTargetDC = CreateCompatibleDC(hDC);
if(hTargetDC == NULL)
throw "CreateCompatibleDC failed.";
HBITMAP hBitmap = CreateCompatibleBitmap(hDC, rect.right - rect.left, rect.bottom - rect.top);
if(hBitmap == NULL)
throw "CreateCompatibleBitmap failed.";
if(!SelectObject(hTargetDC, hBitmap))
throw "SelectObject failed.";
if(!PrintWindow(hWnd, hTargetDC, 0))
throw "PrintWindow failed.";
ReleaseDC(hWnd, hDC);
ReleaseDC(hWnd, hTargetDC);
return hBitmap;
}
Znalazłem kilka linków, ale oni nie dają odpowiedź:
http://www.vbforums.com/showthread.php?t=555250 http://www.codeguru.com/forum/archive/index.php/t-357211.html http://social.msdn.microsoft.com/forums/en-US/winforms/thread/3e3decd8-ced1-4f17-a745-466e5aa91391/
Czy na stronie występuje korelacja między czarnymi obszarami a SWF/Flash? – Mark
Nie. Mam czarne dziury za pomocą prostego www.google.com. – alex2k8
Widzę problem na Windows 2008. Podczas XP, Vista i Windows 7 wydaje się być w porządku. – alex2k8