.net запись видео с дескриптором окна - PullRequest
3 голосов
/ 30 августа 2011

Я запускаю процесс (iexplore.exe), получаю processID и использую p.mainWindowHandle для получения окна.

Теперь я хочу записать это конкретное окно в видеофайл. Я знаю, как захватить один кадр в файле изображения.

Является ли хорошей идеей объединить все эти растровые изображения в avi-файл самостоятельно или есть лучшие / более быстрые решения? Я работаю с C #

Я видел там какой-нибудь SDK для видеомагнитофонов, но они берут смешные суммы денег.

1 Ответ

2 голосов
/ 31 августа 2011

В настоящее время я использую AVIWriter от Aforge с таймером, который добавляет кадр в файл avi:

        writer = new AVIWriter("MSVC");
        writer.Open("test.avi", 400, 400);

        Bitmap b = new Bitmap(width, height);

        Graphics g = Graphics.FromImage(b);
        IntPtr hdc = g.GetHdc();
        bool result = PrintWindow((IntPtr)observedProcess.MainWindowHandle, hdc, 0);
        g.ReleaseHdc();
        g.Flush();

        Bitmap resized = ResizeImage(b, 400, 400);

        writer.AddFrame(resized);
...