Pergunta

Existe uma maneira de gravar a tela, seja desktop ou janela, usando tecnologias .NET.

Meu objetivo é algo livre. Eu gosto da idéia de uso pequeno, baixo cpu, e simples, mas que iria considerar outras opções se eles criaram um produto melhor final.

Em poucas palavras, eu sei como tirar um screenshot em C #, mas como eu ia gravar a tela, ou área da tela, como um vídeo?

Muito obrigado por suas ideias e tempo!

Foi útil?

Solução

Não há necessidade de um terceiro DLL festa. Este método simples captura a imagem da tela atual em um objeto .NET Bitmap.

    private Image CaptureScreen()
    {
        Rectangle screenSize = Screen.PrimaryScreen.Bounds;
        Bitmap target = new Bitmap(screenSize.Width,screenSize.Height);
        using(Graphics g = Graphics.FromImage(target))
        {
            g.CopyFromScreen(0,0,0,0,new Size(screenSize.Width,screenSize.Height));
        }
        return target;
    }

Eu tenho certeza que você pode descobrir como capturar uma parcela menor da tela, se isso for necessário: -)

.

Outras dicas

Você pode usar a mídia do Windows Encoder SDK para construir um aplicativo c # para gravar a tela. Há opções embutido para gravar todo o desktop, uma janela particular ou uma parte da tela.

Há uma dll lá fora, que pode fazê-lo. Não me lembro o nome dele, mas ele é usado por Jing . Um amigo meu implementado um gravador de tela em apenas alguns minutos usando esse dll, apenas para testar. Confira Jing e você provavelmente vai encontrar o dll que eles usam.

Você pode usar Media Encoder SDK, mas não é suportado no Windows 7.

Você pode tentar este utilitário opensource: ScreenRecord ( http://screenrecord.codeplex.com/ ) ele é baseado em AForge.NET

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top