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

VB.NET Discussion :

redimensionner pictureBox automatiquement


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 35
    Points : 3
    Points
    3
    Par défaut redimensionner pictureBox automatiquement
    Bonjour,

    S'il vous plait comment je dois procéder afin de redimensionner pictureBox automatiquement ou en faisant un zoom les taille de pictureBox je les ai fait entrer à travers des boutons

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut redim auto de picturebox
    bonjour,
    redimensionner auto a la taille de l'image:
    proprietes du picturebox dans l'inspecteur:
    -Normal -> L'image est placée dans le coin supérieur gauche de la PictureBox.
    -StretchImage L'image est dimensionnée à la taille du pictureBox.
    -AutoSize (inverse) Le PictureBox est dimensionnée à la taille de l'image
    -CenterImage L'image est affichée au centre si la taille de la PictureBox est supérieure à celle de l'image. Si image est plus grande que la PictureBox, elle est placée au centre de la PictureBox et les bords depassants sont supprimes.
    -Zoom La taille de l'image est augmentée ou réduite en conservant les proportions(ne deforme pas l'image comme StretchImage).

    pour zoomer dans un picturebox ca n'existe.
    mais tu peux ajouter 2 scrollbars au picturebox et les gerer...
    voici un bout de code exemple:

    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
    55
    56
    57
     
     
    'PICTUREBOX AVEC SCROLLBARS
    'AJOUTER:
    '-UN PICTUREBOX
    '-UN BOUTON POUR CHARGE UNE IMAGE
    '-RAJOUTER 2 SCROLLBARS H ET V DE LA BOITE À OUTILS
    Public Class frmPicAvecScrollBar
        Private Sub Form1_Load(ByVal sender As System.Object, _
           ByVal e As System.EventArgs) Handles MyBase.Load
            'ajoute une  sub ScrollBars_Scroll handler pour les 2 scrollbars(vertical et horizontal) pris de la boite à outils
            AddHandler HScrollBar1.Scroll, AddressOf ScrollBars_Scroll
            AddHandler VScrollBar1.Scroll, AddressOf ScrollBars_Scroll
        End Sub
        'ic notre Sub ScrollBars_Scroll() handler quand on deplace les 
        'scrollbars
        Public Sub ScrollBars_Scroll(ByVal sender As Object, _
            ByVal se As ScrollEventArgs)
            Dim graphics As Graphics = PictureBox1.CreateGraphics()
            'rectangle destination sert à cadrer la zone à redessiner de l'image 
            'quand on scrolle vert ou horiz.
            'dim. zone à redessiner  = dimension picturbox - valeur de scroll 
            Dim monRect As Rectangle = New Rectangle(0, 0, _
                PictureBox1.Width - HScrollBar1.Height, _
                PictureBox1.Height - VScrollBar1.Width)
            'DrawImage recopie partie d'image 
            'dans rect destination(monrect) à partir de partie rect source (PictureBox1.Image),unites(pixel)
            graphics.DrawImage(PictureBox1.Image, monRect, _
                New Rectangle(HScrollBar1.Value, VScrollBar1.Value, _
                PictureBox1.Width - HScrollBar1.Height, _
                PictureBox1.Height - VScrollBar1.Width), GraphicsUnit.Pixel)
        End Sub
        Private Sub btnChargeImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChargeImage.Click
            If OpenFileDialog1.ShowDialog() <> DialogResult.Cancel Then
                PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
                'la valeur maxi atteinte par les 2 scrollbars ne doit pas  
                'depasser la difference =dimensions picturebox - dimensions image 
                HScrollBar1.Maximum = PictureBox1.Image.Width - _
                    PictureBox1.Width
                VScrollBar1.Maximum = PictureBox1.Image.Height - _
                    PictureBox1.Height
                ShowScrollBars()
            End If
        End Sub
        'cette sub montre les scrollbars si les dimensions de l'image charge 
        'sont plus grandes que les dimension du picturebox 
        Private Sub ShowScrollBars()
            VScrollBar1.Visible = True
            HScrollBar1.Visible = True
            If PictureBox1.Height > PictureBox1.Image.Height Then
                VScrollBar1.Visible = False
            End If
            If PictureBox1.Width > PictureBox1.Image.Width Then
                HScrollBar1.Visible = False
            End If
        End Sub
    End Class
    bon code....

Discussions similaires

  1. Redimensionner fenêtre automatiquement
    Par julien_es dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/03/2014, 23h18
  2. Réponses: 1
    Dernier message: 04/04/2011, 17h12
  3. Creation de pictureBox automatique dans un groupBox
    Par andy331 dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/06/2010, 13h53
  4. Redimensionner frame automatiquement
    Par benjisan dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 27/05/2009, 10h24
  5. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32

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