quinta-feira, 22 de agosto de 2013

ScreenShots – PrintScrn com C#

Vou mostrar uma forma simples de utilizar esta ferramenta, a partir do exemplo, poderá aprimorar conforme suas necessidades.


Vou criar uma tela simples com apenas 1 botão e um SaveFileDialog, em nosso código, vamos importar Drawing.Imaging:
using System.Drawing.Imaging;

Vamos declarar agora dois objetos:
private static Bitmap bmpScreenshot;
private static Graphics gfxScreenshot;

Vamos adicionar o código do evento click do botão:
        private void btnScreen_Click(object sender, EventArgs e)
        {
            // Caso tenha escolhido o local para salvar, vamos dar continuidade
            if (saveScreenshot.ShowDialog() == DialogResult.OK)
            {
                // Ocultar o formulario, para não aparecer no Screen
                this.Hide();
                // Definir o formulario bitmap para o tamanho da tela.
                bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
                // Criar um objeto Graphics a partir do bitmap
                gfxScreenshot = Graphics.FromImage(bmpScreenshot);
                // Seleciona a imagem do canto superior esquerdo para o inferior direto.
                gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
                // Salvar a imagem conforme escolha.
                bmpScreenshot.Save(saveScreenshot.FileName, ImageFormat.Png);
                // Retorna o Forumlario.
                this.Show();
            }
        }
Como você pode ver no código acima, a primeira coisa que fazemos é para mostrar o diálogo de salvar para o usuário para que ele possa escolher o caminho onde quer que a tela para ser salvo. A próxima coisa que podemos fazer é esconder o formulário para que ele não aparece na imagem. Depois disso, estamos definindo os dois objetos que tenham sido declaradas anteriormente, com informações sobre o tamanho da imagem / imagem (que é o tamanho do desktop).
Bons estudos

0 comentários:

Postar um comentário