메인 윈도우의 스크린 샷과 메인 윈도우의 내용을 캡처하려고합니다. MainWindow는 때로는 다른 요소 뒤에 있기 때문에 다른 오버레이 요소없이 화면 캡처를해야합니다. 이 코드는 현재 내용없이 빈 MainWindow 형식의 비트 맵을 반환합니다. 이 폼에는 다양한 동적 UI 요소가 있습니다. MainWindow의 현재 캡쳐 화면을 캡처하려면 어떻게해야합니까? MainWindow 내용에 대한 코드는 오래 게시 할 수 있으므로이 정도면 충분합니다.양식의 폼 및 요소 캡처 스크린 샷 캡처
Rectangle bounds = new Rectangle();
bounds.Width = Program.MainWindow.Width;
bounds.Height = Program.MainWindow.Height;
screenShot = new Bitmap(Program.MainWindow.Width,
Program.MainWindow.Height,
PixelFormat.Format32bppRgb);
Program.MainWindow.DrawToBitmap(screenShot, bounds);
의
CopyFromScreen
방법을 사용하여 얻을 수 있어야합니다 당신은'은'graphics' 클래스의()'회원 CopyFromScreen 봤어? – pinkfloydx33네, 그래도 검은 비트 맵을 얻을 수 있습니다. – Yuval
Ok, 그냥 CopyFromScreen()이 작동합니다.하지만 MainWindow 폼 만 캡쳐하고 스크린 샷을 찍을 때 프로세스에서 열리는 두 개의 다른 폼은 캡처하지 않도록하고 싶습니다. 어떤 아이디어? – Yuval