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

Windows Forms Discussion :

redimensionner capture image dans PictureBox [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut redimensionner capture image dans PictureBox
    Bonjour,
    J'ai besoin de mettre l'image capturé par la webcam dans une pictureBox pour l'afficher avant de l'enregistrer, mon problème c'est que l'image n'est pas affichée complète, juste une partie d'elle! J'ai essayé en utilisant les paramètres du pictureBox (width, height) mais ça n'a pas résolu le problème, j'aimerai rendre l'image plus petite mais toute affichée, j'ai ensuite essayé avec PictureBoxSizeMode en vain aussi.
    Pouvez vous m'aider? merci

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     private void btnCapt_Click_1(object sender, EventArgs e)
            {
                myPlayer.SoundLocation = appPath + "\\camera.wav";
                myPlayer.Play();
     
                tabImage[0] = new PictureBox();
                tabImage[0].SizeMode = PictureBoxSizeMode.AutoSize;
                tabImage[0].Anchor = AnchorStyles.None;
     
                tabImage[0] = picture1;
     
     
                tabImage[1] = new PictureBox();
                tabImage[1] = picture2;
                tabImage[2] = new PictureBox();
                tabImage[2] = picture3;
                tabImage[3] = new PictureBox();
                tabImage[3] = picture4;
                imageList1.Images.Clear();
                current = (Bitmap)video.Clone();
     
                try
                {
                    if (current == null)
                    {
                    }
                    else
                    {
                       // string fileName = System.IO.Path.Combine(filepath, X + ".bmp");
     
                      //  current.Save(filepath + "\\picture" + X + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
                             //   current.Save(fileName);
                      //  picture1.Image = current;
                        // PictureBox pict =  new PictureBox();
                  // pict.Image = current;
                        tabImage[i].Image = current;
                      //  CenterPictureBox(tabImage[0], current);
     
     
                        X++;
     
                    }
     
     
                    i++;
                    current = null;
     
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
     
            }

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Bonjour,
    Essayes avec cette fonction de redimensionnement.
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
     public static Image ResizeImage(string path, int width, int height)
            {
                // réglages des valeurs servant au calcul
                int lmax = width;
                int hmax = height;
     
                Image i = Image.FromFile(path);
                // objet image à partir de l'image choisie
               // double ratio = (double)lmax / hmax;
                // ratio de base à obtenir pour rentrer correctement dans la picturebox
                double ratioImage = (double)i.Width / i.Height;
                // ratio de l'image d'origine
                double flng = i.Width;
                // largeur de l'image d'origine
                double fht = i.Height;
                // hauteur de l'image d'origine
                if (flng > lmax || fht > hmax)
                // si l'image est plus grande d'une quelconque longueur
                {
                    if (flng > lmax) // si la longueur est plus longue
                    {
                        if (1 > ratioImage) // et si la largueur est plus longue
                        {
                            fht = hmax; // la hauteur prend la hauteur maximale
                            if (flng > i.Height) flng = fht / ratioImage; // calcul de la longueur 
                            else flng = fht * ratioImage; // calcul de la longueur (bis)
                        }
                        else // seule la largeur est plus longue
                        {
                            flng = lmax; // la largeur prend la largeur maximale
                            if (fht > i.Width) fht = flng / ratioImage; // calcul de la hauteur
                            else fht = flng / ratioImage;
                        }
                    }
                    else // seule la largeur est plus longue
                    {
                        fht = hmax;
                        flng = fht * ratioImage;
                    }
                    i = Image.FromFile(path).GetThumbnailImage(Convert.ToInt32(flng), Convert.ToInt32(fht), null, IntPtr.Zero); // j'en tire une miniature
                }
                else
                {
                    i = Image.FromFile(path); // sinon j'affiche l'image de base
     
                }
     
                return i;
     
            }
    Ce code n'est pas de moi. Mais je m'en suis servi dans le passé pour redimensionner des images.

  3. #3
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    merci j'ai résolu le problème, j'ai pas mis le paramétrage dans sa place adéquate au niveau du code. ça fonctionne bien maintenant avec pictureBoxSizeMode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redimensionner une image dans un picturebox
    Par callo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2009, 17h20
  2. [VB.NET] Redimensionner une image dans un PictureBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 05/04/2007, 18h24
  3. Redimensionner les images dans un tableau
    Par cyke37 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/10/2005, 19h19
  4. Redimensionner une image dans une popup
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/10/2005, 16h52
  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