Capture d'écran

Résolu
cs_etoile100100 Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 21 juin 2011 - 7 mai 2011 à 03:07
cc125 Messages postés 14 Date d'inscription mardi 1 mai 2012 Statut Membre Dernière intervention 15 novembre 2013 - 20 avril 2012 à 23:36
salut,
je veu faire une capture d'écran chaque 5 secondes par exple,
je fait ca avec un Timer, et cel la mon petit code:
  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim capture As Bitmap
        capture = CapturerBureauWindows()
        capture.Save("d:\capture.jpg")
    End Sub

Mais le problème ici c que je doit faire une astuce pour nommer chaque image un nom différent pour qu'ils peuvent s'enregistrent tous,
merci.

10 réponses

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
7 mai 2011 à 12:29
Bonjour,

> pile_poil : oui, mais c'est valable pour une seule cession, à la prochaine il va se retrouver avec capture1.jpg au départ.

> etoile100100 : Je suggère plutôt d'ajouter la date et l'heure au nom du fichier.
Je ne connais pas VB.Net mais en VB6 c'est :
fichier = "d:\capture_" & Format$(Date$, "ddmmyy_") & Format$(Time$, "hhmmss") & ".jpg"

ce qui donne pour le 07-05-2001 à 12:22:28
d:\capture_050711_122228.jpg

Ainsi il n'y aura jamais le même nom de fichier et ce nom sera plus explicite.

Cheyenne
3
cs_etoile100100 Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 21 juin 2011
7 mai 2011 à 14:11
merci beaucoup pour vos aide, la solution final est ceci:
 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim capture As Bitmap
        capture = CapturerBureauWindows()
        Dim captur As Object
        captur = Format(Today, "ddmmyy") & Format(TimeOfDay, "hhmmss")
        capture.Save("d:" & captur & ".jpg")
    End Sub
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
7 mai 2011 à 07:46
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    static toto as integer
    toto = toto+1        
    Dim capture As Bitmap
    capture = CapturerBureauWindows()
    capture.Save("d:\capture" & cstr(toto) & ".jpg")
End Sub

pas testé mais ça doit marcher



si c'est la solution, penser : REPONSE ACCEPTEE
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
7 mai 2011 à 12:00
Bonjour,
Ce sujet m'intéresse également,
Je produit une petite animation en 3D sur un panel.

Le calcul d'image est parfois long et saccadé et je voudrais pouvoir prendre des "photos" du panel.
Est-il possible également de récupérer l'image de mon panel a interval régulier, pour ensuite former une petite vidéo.
d'avance merci. CGSI3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
7 mai 2011 à 16:41
Re,

Toujours utiliser le typage pour les fonctions de texte. Format -> Format$
C'est 3 fois plus rapide (du moins en VB6).
Si le $ n'est pas utilisé, c'est considéré comme un type Variant, ce ralentit le temps d'exécution et consomme plus de mémoire.

Rajoutes un _ entre d:\capture et la date, cela rendra le nom de tes fichiers plus lisible.
   d:\capture050711_122228.jpg
-> d:\capture_050711_122228.jpg

Enfin, c'est toi qui es l'utilisateur, tu fais ce que tu veux

Cheyenne
0
cs_etoile100100 Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 21 juin 2011
7 mai 2011 à 16:49
merci bien , c trés logique
mais, j'ai une case à coché, que lorsqu'on la coche, les captures se lancent, je veu que je garde l'état du case à coché, c-a-d lorsque je coche la et je ferme, lorsque j'ouvre mon program je trouve ma case encore coché.
je pense à faire une petite base access
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
7 mai 2011 à 17:17
Re,

Tu ne vas quand même pas faire une base access pour si peu !

Le plus simple est de sauvegarder l'état de la case à cocher dans un simple fichier.
0 Unchecked   1 Checked   2 Grayed (en VB6)

Puis à l'ouverture du programme tu lis la valeur et tu l'attribues à la case à cocher.

Sinon tu as la base de registre ou les fichiers ini.

Cheyenne

PS. Attention aux nombreuses fautes d'orthographe !
0
cs_etoile100100 Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 21 juin 2011
7 mai 2011 à 17:23
je suis en mode .net pas vb 6,
et si tu peu détailler un peu + pour moi:
*un fichier "bloc note" ou koi exactement!!!
*pas grave a propo les fautes d'orthographes
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
7 mai 2011 à 17:54
RE,

Si c'est grave les fautes d'orthographe

Oui un simple fichier, comme lorsque tu sauvegardes un texte par exemple.
ff = Freefile
Open fichier For Output As #ff
  Print #ff, maCheckBox.Value
Close #ff

A toi de transposer en .Net

Cheyenne
0
cc125 Messages postés 14 Date d'inscription mardi 1 mai 2012 Statut Membre Dernière intervention 15 novembre 2013
20 avril 2012 à 23:36
Salut etoile100100
J'aimerais connaître ton code pour convertir
" capture = CapturerBureauWindows()"
car je suis débutant au niveau vb.net merci de ton aide =)

/A.F.D.Gbug\
0
Rejoignez-nous