IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Capture écran d'un zone sélectionnable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut Capture écran d'un zone sélectionnable
    Bonjour,

    Voici mon soucis, j'ai besoin de faire une capture écran d'un zone sélectionnable sur le bureau. Le but est de récupérer une image contenant des informations visibles d'une application dont je n'ai pas la main sur le code.
    J'ai donc penser à créer un bouton me permettant de sélectionner une zone qui donnerai la hauteur et la largeur de la sélection ainsi que ca position.
    Une fois les informations récupérées, je procéderais à un imprim écran du bureau qui sera enregistrer en tant qu'image.
    Il me restera à rogner la sélection grâce aux informations hauteur, largeur et position.
    Ceci n'est qu'une hypothèse, car je ne sais pas si cela est possible et si les informations récupérées lors de la sélections seront valables pour le découpage de mon image.
    Je cherche donc à savoir si les informations récupérées (H, W et P(X.Y)) avec "Control.MousePosition" de la sélection sur le bureau seront valables pour rogner mon image? (Cela m'évitera de partir sur de mauvaises pistes...)

    Merci d'avance

    PS: Si il y a une autre procédure pour arriver à mes fins, n'hésitez pas à me le faire savoir

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Le problème est en parti résolut, voilà ou j'en suis (code test):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            using System.Runtime.InteropServices;
            [DllImport("User32.dll")]
            static extern bool GetCursorPos(out Point lpPoint);
     
            private void SelectPosition_Click(object sender, EventArgs e)
            {
                GetCursorPos(out pnt1);
                Size size = new Size(100, 100);
                Bitmap bitmap = new Bitmap(size.Width, size.Height);
                {
                    using (Graphics graphics = Graphics.FromImage(bitmap))
                    {
                        graphics.CopyFromScreen(pnt1, new Point(0, 0), size);
                    }
                }
                pictureBox1.Image = bitmap;
            }
    Dans ce dernier code je récupère bien la position de la souris lorsque je click sur le bouton, une copie écran se fait au départ de la location souris.
    Ce code n'est biensur pas au point, par contre je ne vois pas comment je peux récupérer la position de la souris en dehors de la form
    J'ai pensé à cette solution mais celle-ci n'est valable que sur la form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            protected override void OnMouseMove(MouseEventArgs e)
            {
                 //Si double clik
                 GetCursorPos(out pnt1);
            }
    Si quelqu'un à une idée ca serait parfait
    Merci!!

Discussions similaires

  1. [VB.Net] Capture écran
    Par Fullmetal82 dans le forum Windows Forms
    Réponses: 14
    Dernier message: 07/02/2007, 06h56
  2. Capture écran de différent webmail
    Par kerbernic dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/11/2006, 16h06
  3. Impression d'une capture écran
    Par ero-sennin dans le forum Delphi
    Réponses: 1
    Dernier message: 15/10/2006, 15h09
  4. Capture écran dans le menu contextuel
    Par Furius dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 02/09/2005, 19h35
  5. [C#] Capture écran dans pictureBox
    Par Gauden dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/05/2004, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo