PictureBox.Resize

cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 4 janv. 2013 à 01:32
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 4 janv. 2013 à 12:21
Bonjour,

J'essaye d'agrandir une picturebox dynamiquement:
AddHandler pctDPicture.Resize, AddressOf DPictureResize


Le probleme: je ne sais pas quoi mettre comme code dans cette Sub.
 Private Sub DPictureResize(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Management du Cursor
        Select Case ???
            Case 1 'ResizeDirection.Left
                DirectCast(sender, PictureBox).Cursor = Cursors.SizeWE
            Case 2 'ResizeDirection.Right
                DirectCast(sender, PictureBox).Cursor = Cursors.SizeWE
            Case ...            
            Case Else
                DirectCast(sender, PictureBox).Cursor = Cursors.Default
        End Select
    End Sub
        ' ...et comment agrandir l'image???


Une petite idee?
Si toutefois, cest possible avec la methode Resize???

A+
JLuc01

2 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
4 janv. 2013 à 09:29
Bonjour JLuc n°01,


J'essaye d'agrandir une picturebox dynamiquement:


Option Explicit On
Public Class Form1

Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    PictureBox1.Width = 100 ' On détermine la taille voulue de l'image en fixant celle de la pictureBox
    PictureBox1.Height = 200
    PictureBox1.SizeMode = PictureBoxSizeMode.Zoom ' l'image prendra la taille de la pictureBox 
    PictureBox1.Image My.Resources.cratere3 ' taille d'origine : 46 x 36 : taille finale 100 x 200
  End Sub

End Class


Cordialement, Joe.
0
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
4 janv. 2013 à 12:21
Bonjour EhJoe,

Un peu plus de code pour expliquer ce que je fais:

Private Sub ofdAddPicture_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ofdAddPicture.FileOk
        ' Code
        ' ====================================================================================================
        ' ADD A DYNAMIC PICTUREBOX
        ' pctDPicture New PictureBox
        pctDPicture.Image = Image.FromFile(ofdAddPicture.FileName)
        pctDPicture.SizeMode = PictureBoxSizeMode.StretchImage
        pctDPicture.Size = New Size(150, 100)
        pctDPicture.Location = New Point(20, 20)
        AddHandler pctDPicture.MouseMove, AddressOf DPictureMouseMove
        AddHandler pctDPicture.MouseDown, AddressOf DPictureMouseDown
        AddHandler pctDPicture.MouseClick, AddressOf DPictureMouseClick
        AddHandler pctDPicture.Resize, AddressOf DPictureResize
        SplitContainer1.Panel2.Controls.Add(pctDPicture)
        pctDPicture.BringToFront()
        ' Code
        End Sub


Je ne sais pas comment faire pour agrandir/retrecir une image avec PictureBox.Resize (Quatrieme AddHandler).
Quel code dois-je utilise pour la Sub DPictureResize?

J'avoue avoir trouve un moyen avec un API, mais cela me cree plus de probleme quand je veux modifier le code de l'API a mes besoins.
De plus, il semble deconseille d'utiliser des APIs en vbNet, et c'est pas facile a comprendre pour moi.
Je pensais qu'il y a peut-etre un moyen avec la method Resize du PictureBox.

Si vous avez un bout de code a partager, ce serait parfait.
Sinon des idees ou une explication pour utiliser cette methode Resize ou autres methodes seraient aussi tres bien.

A+
JLuc01
0
Rejoignez-nous