capture écran en vb net

Voir le sujet précédent Voir le sujet suivant Aller en bas

migau
migau

Messages : 5761
Points : 26767
Réputation : 16433
Date d'inscription : 21/10/2016
Localisation : Pays de la Loire
http://www.informaticsclubs.com/

Messagemigau le Mer 7 Aoû - 19:39

  • 18px
  • 24px
Information
les règles.
Pour toute question à propos de ce tutoriel merci  de la poser dans le forum de dépannage.
Poser une question au sujet de ce tutoriel en cliquant ICI

 n'hésitez pas à sauter le pas inscrivez-vous sur le forum, Merci.

je m'inscris


Pour mes besoins, je me suis fait une application qui fait une capture de mon écran ( un tableau )et rezise aux dimensions voulues automatiquement.

la capture est enregistrée directement dans un dossier défini et le nom du fichier est lui aussi automatique
pour le nom du fichier, je prends le datetime, c'est à dire l'année, le mois, le jour, l'heure , et la minute de mon PC
ainsi je suis sûr que je n'aurai pas de fichier avec un nom identique

Code:
Option Explicit On
Imports System.IO

Public Class Form1



    Private Sub Btnquitter_Click(sender As Object, e As EventArgs) Handles btnquitter.Click
        Me.Close()
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        PictureBox1.BorderStyle = BorderStyle.Fixed3D
        Dim parcourir As String = My.Computer.FileSystem.SpecialDirectories.Desktop & "\MonDossier" ' parcourir avec un dossier
    End Sub

    Private Sub Btncapturer_Click(sender As Object, e As EventArgs) Handles btncapturer.Click
        Me.Opacity = 0
        Me.ShowInTaskbar = False
        Timer1.Start()

    End Sub

    Private Sub QuitterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles QuitterToolStripMenuItem.Click
        Me.Close()
    End Sub


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        TakeScreenshot()
        Me.Opacity = 1
        Me.ShowInTaskbar = True
        Timer1.Stop()

    End Sub

    Private Sub Btnsauvegarder_Click(sender As Object, e As EventArgs) Handles btnsauvegarder.Click

        Takesauvegarde()

    End Sub


    Private Sub SauvegarderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SauvegarderToolStripMenuItem.Click
        Takesauvegarde()

    End Sub

    Sub Takesauvegarde()

        Dim sfd As New SaveFileDialog
        Dim path As String = "I:\Visual_Studio_App\Captures\"
        Dim dir As String = System.IO.Path.GetDirectoryName(path)


        Try
            If Not System.IO.Directory.Exists(dir) Then
                System.IO.Directory.CreateDirectory(dir)

            End If
            With sfd
                .Title = "Choisir Un nom pour la capture"
                .Filter = "Image PNG| *.Png|Image JPEG| *jpg | image GIf| *.gif"
                .FileName = DateTime.Now.ToString("yyyy-MM-dd_HH-mm")
                .AddExtension = True
                .DefaultExt = ".PNG"
                .ValidateNames = True
                .OverwritePrompt = True
                .InitialDirectory = dir
                .RestoreDirectory = True

                If sfd.ShowDialog = DialogResult.OK Then
                    PictureBox1.Image.Save(sfd.FileName)

                End If

            End With

        Catch ex As Exception
            MessageBox.Show("Error : saving image Failed ==> " & ex.Message.ToString())

        Finally




        End Try



    End Sub
    Sub TakeScreenshot()

        Dim largeur As Integer = Screen.PrimaryScreen.Bounds.Width
        Dim hauteur As Integer = Screen.PrimaryScreen.Bounds.Height

        Dim screenshot As New Bitmap(largeur, hauteur)
        Dim graph As Graphics = Graphics.FromImage(screenshot)

        graph.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy)


        PictureBox1.Image = screenshot
    End Sub

    Private Sub Btneffacer_Click(sender As Object, e As EventArgs) Handles btneffacer.Click
        PictureBox1.Image = Nothing
        PictureBox1.BackgroundImage = Nothing
    End Sub

    Private Sub EffacerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EffacerToolStripMenuItem.Click
        PictureBox1.Image = Nothing
        PictureBox1.BackgroundImage = Nothing
    End Sub

    Private Sub CapturerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CapturerToolStripMenuItem.Click
        Me.Opacity = 0
        Me.ShowInTaskbar = False
        Timer1.Start()
    End Sub
End Class

capture écran en vb net UbbRyaE



une vidéo explicative est à venir, il faudra être patient.



   

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum