Pergunta

Eu quero adicionar a capacidade para os usuários para capturar a tela atual em meu aplicativo e e-mail. Eu tenho uma base de usuários muito não técnica, então eu preciso que isso seja o mais simples possível. Eu pretendo deixá-los clicar em um item de menu chamado Help Me! que, então, capturar a tela do aplicativo atual, espero que como um jpg ou png, e, em seguida, abra o Outlook e adicionar a imagem como um anexo.

Eu estava lendo este post ScreenCapture no projeto de código, mas é uma pouco velho e não é exatamente o que eu estava procurando, então eu pensei que eu iria verificar se existe uma maneira melhor de fazer isso.

Como faço para começar a fazer isso? Existe uma biblioteca ou são o construído em capacidades suficiente?

Obrigado!

Foi útil?

Solução

Esse post que você vinculado é a abordagem certa, eles apenas tornou muito complexo. Você iria querer usar Graphics.CopyFromScreen .

Rectangle bounds = this.Bounds;

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height))
using(Graphics g = Graphics.FromImage(ss))
{
  g.CopyFromScreen(this.Location, Point.Empty, bounds.Size);
  ss.Save("test.jpg", ImageFormat.Jpeg);
}

Outras dicas

Verifique a Graphics.CopyFromScreen método.

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