Quel est le meilleur controle pour afficher une image (en=20
la redimensionnant tout en gardant les proportions) dans=20
les dimensions du contr=F4le. Quelles propri=E9t=E9s =E0=20
positionner pour =E7a ?
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Bonjour/soir,
La conservation des dimensions doit être faite manuellement. Sinon, pour affiche l'image, tu peux utiliser: Un contrôle image avec la propriété strech = true Une contrôle PictureBox (ou la form) et sa méthode PaintPicture L'API StrechBlt pour peindre sur un DC connu.
Exemple de code: Dim RapportTailles As Double Dim objPicture As Picture Const PicturePath As String = "c:test.jpg" Me.ScaleMode = 3 'effectue les traitements en pixels Const NewHeight As Single = 400 'la taille en hauteur est en pixels.
"br" a écrit dans le message de news:1b3601c3e01e$8b6b94b0$
Quel est le meilleur controle pour afficher une image (en la redimensionnant tout en gardant les proportions) dans les dimensions du contrôle. Quelles propriétés à positionner pour ça ? Merci
Bonjour/soir,
La conservation des dimensions doit être faite manuellement.
Sinon, pour affiche l'image, tu peux utiliser:
Un contrôle image avec la propriété strech = true
Une contrôle PictureBox (ou la form) et sa méthode PaintPicture
L'API StrechBlt pour peindre sur un DC connu.
Exemple de code:
Dim RapportTailles As Double
Dim objPicture As Picture
Const PicturePath As String = "c:test.jpg"
Me.ScaleMode = 3 'effectue les traitements en pixels
Const NewHeight As Single = 400 'la taille en hauteur est en pixels.
"br" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1b3601c3e01e$8b6b94b0$a401280a@phx.gbl
Quel est le meilleur controle pour afficher une image (en
la redimensionnant tout en gardant les proportions) dans
les dimensions du contrôle. Quelles propriétés à
positionner pour ça ?
Merci
La conservation des dimensions doit être faite manuellement. Sinon, pour affiche l'image, tu peux utiliser: Un contrôle image avec la propriété strech = true Une contrôle PictureBox (ou la form) et sa méthode PaintPicture L'API StrechBlt pour peindre sur un DC connu.
Exemple de code: Dim RapportTailles As Double Dim objPicture As Picture Const PicturePath As String = "c:test.jpg" Me.ScaleMode = 3 'effectue les traitements en pixels Const NewHeight As Single = 400 'la taille en hauteur est en pixels.
"br" a écrit dans le message de news:1b3601c3e01e$8b6b94b0$
Quel est le meilleur controle pour afficher une image (en la redimensionnant tout en gardant les proportions) dans les dimensions du contrôle. Quelles propriétés à positionner pour ça ? Merci
Zoury
Salut Br! :O)
Tu peux y arriver assez facilement sans l'aide d'API...
Essai cette exemple : '*** ' Ajouter la composante Microsoft Common Control 6.0 (SP6) ' Form1 ' 1 Image ' 1 PictureBox ' 1 Slider Option Explicit
' Conserve la proportion de l'image ' Private m_fProprotion As Single
Private Sub Form_Load()
' Le PictureBox sert à déterminer ' le rapport entre la largeur ' et la hauteur de l'image ' ' Pour y parvenir, nous utilisons ' sa propriété AutoSize qui lui ' permet de se remdimensionner à ' la grandeur de l'image qu'il ' affiche ' ' Nous n'avons pas besoin de voir ' le contrôle alors nous le masquons. ' Picture1.Visible = False Picture1.AutoSize = True
' Le contrôle Image nous permet ' d'afficher l'image ' ' Sa propriété Stretch permet ' d'ajuster l'image à la taille ' du contrôle. ' ' Nous devons donc agrandir ' ou diminuer la taille du ' contrôle en conservant les ' proportion de l'image ' Image1.Stretch = True
' Charge l'image dans le PictureBox afin de ' déterminer sa taille ' Set Picture1.Picture = LoadPicture("c:image.bmp")
' Redimensionne le contrôle Image en fonction ' des dimensions du PictureBox ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Picture1.Width, _ Picture1.Height)
' On affiche l'image du PictureBox ' dans le contrôle Image ' Set Image1.Picture = Picture1.Picture
' On retire l'image du PictureBox afin ' d'économiser un peu de mémoire.. ' Set Picture1.Picture = Nothing
' On calcule la proportion de l'image ' La largeur diviser par la hauteur ' m_fProprotion = Image1.Width / Image1.Height
' Le contrôle Slider nous permettra d'agrandir ' ou de diminuer la taille du contrôle Image ' Slider1.Min = 0 Slider1.Max = Slider1.Width Slider1.Value = Image1.Width
' Initialise la position des contrôles sur le formulaire ' Call SetControlsPosition
End Sub
Private Sub Slider1_Change()
' Vérifie si la proportion à été définie ' (après le Form_Load) afin d'éviter ' une division par 0 ' If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image ' en fonction de la taille sélectionnée ' à l'aide du slider.. ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Slider1.Value, _ Slider1.Value / m_fProprotion) End If End Sub
Private Sub Slider1_Scroll()
' Vérifie si la proportion à été définie ' (après le Form_Load) afin d'éviter ' une division par 0 ' If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image ' en fonction de la taille sélectionnée ' à l'aide du slider.. ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Slider1.Value, _ Slider1.Value / m_fProprotion) End If End Sub
' Place les contrôles automatiquement ' sur le formulaire.. ' Private Sub SetControlsPosition() Call Me.Move(330, 435, 11835, 6915) Call Slider1.Move(0, 120, 11535, 255) Call Picture1.Move(120, 480, 4560, 2310) Call Image1.Move(120, 480, 4560, 2310) End Sub '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"br" wrote in message news:1b3601c3e01e$8b6b94b0$ Quel est le meilleur controle pour afficher une image (en la redimensionnant tout en gardant les proportions) dans les dimensions du contrôle. Quelles propriétés à positionner pour ça ? Merci
Salut Br! :O)
Tu peux y arriver assez facilement sans l'aide d'API...
Essai cette exemple :
'***
' Ajouter la composante Microsoft Common Control 6.0 (SP6)
' Form1
' 1 Image
' 1 PictureBox
' 1 Slider
Option Explicit
' Conserve la proportion de l'image
'
Private m_fProprotion As Single
Private Sub Form_Load()
' Le PictureBox sert à déterminer
' le rapport entre la largeur
' et la hauteur de l'image
'
' Pour y parvenir, nous utilisons
' sa propriété AutoSize qui lui
' permet de se remdimensionner à
' la grandeur de l'image qu'il
' affiche
'
' Nous n'avons pas besoin de voir
' le contrôle alors nous le masquons.
'
Picture1.Visible = False
Picture1.AutoSize = True
' Le contrôle Image nous permet
' d'afficher l'image
'
' Sa propriété Stretch permet
' d'ajuster l'image à la taille
' du contrôle.
'
' Nous devons donc agrandir
' ou diminuer la taille du
' contrôle en conservant les
' proportion de l'image
'
Image1.Stretch = True
' Charge l'image dans le PictureBox afin de
' déterminer sa taille
'
Set Picture1.Picture = LoadPicture("c:image.bmp")
' Redimensionne le contrôle Image en fonction
' des dimensions du PictureBox
'
Call Image1.Move(Image1.Left, _
Image1.Top, _
Picture1.Width, _
Picture1.Height)
' On affiche l'image du PictureBox
' dans le contrôle Image
'
Set Image1.Picture = Picture1.Picture
' On retire l'image du PictureBox afin
' d'économiser un peu de mémoire..
'
Set Picture1.Picture = Nothing
' On calcule la proportion de l'image
' La largeur diviser par la hauteur
'
m_fProprotion = Image1.Width / Image1.Height
' Le contrôle Slider nous permettra d'agrandir
' ou de diminuer la taille du contrôle Image
'
Slider1.Min = 0
Slider1.Max = Slider1.Width
Slider1.Value = Image1.Width
' Initialise la position des contrôles sur le formulaire
'
Call SetControlsPosition
End Sub
Private Sub Slider1_Change()
' Vérifie si la proportion à été définie
' (après le Form_Load) afin d'éviter
' une division par 0
'
If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image
' en fonction de la taille sélectionnée
' à l'aide du slider..
'
Call Image1.Move(Image1.Left, _
Image1.Top, _
Slider1.Value, _
Slider1.Value / m_fProprotion)
End If
End Sub
Private Sub Slider1_Scroll()
' Vérifie si la proportion à été définie
' (après le Form_Load) afin d'éviter
' une division par 0
'
If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image
' en fonction de la taille sélectionnée
' à l'aide du slider..
'
Call Image1.Move(Image1.Left, _
Image1.Top, _
Slider1.Value, _
Slider1.Value / m_fProprotion)
End If
End Sub
' Place les contrôles automatiquement
' sur le formulaire..
'
Private Sub SetControlsPosition()
Call Me.Move(330, 435, 11835, 6915)
Call Slider1.Move(0, 120, 11535, 255)
Call Picture1.Move(120, 480, 4560, 2310)
Call Image1.Move(120, 480, 4560, 2310)
End Sub
'***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"br" <anonymous@discussions.microsoft.com> wrote in message
news:1b3601c3e01e$8b6b94b0$a401280a@phx.gbl...
Quel est le meilleur controle pour afficher une image (en
la redimensionnant tout en gardant les proportions) dans
les dimensions du contrôle. Quelles propriétés à
positionner pour ça ?
Merci
Tu peux y arriver assez facilement sans l'aide d'API...
Essai cette exemple : '*** ' Ajouter la composante Microsoft Common Control 6.0 (SP6) ' Form1 ' 1 Image ' 1 PictureBox ' 1 Slider Option Explicit
' Conserve la proportion de l'image ' Private m_fProprotion As Single
Private Sub Form_Load()
' Le PictureBox sert à déterminer ' le rapport entre la largeur ' et la hauteur de l'image ' ' Pour y parvenir, nous utilisons ' sa propriété AutoSize qui lui ' permet de se remdimensionner à ' la grandeur de l'image qu'il ' affiche ' ' Nous n'avons pas besoin de voir ' le contrôle alors nous le masquons. ' Picture1.Visible = False Picture1.AutoSize = True
' Le contrôle Image nous permet ' d'afficher l'image ' ' Sa propriété Stretch permet ' d'ajuster l'image à la taille ' du contrôle. ' ' Nous devons donc agrandir ' ou diminuer la taille du ' contrôle en conservant les ' proportion de l'image ' Image1.Stretch = True
' Charge l'image dans le PictureBox afin de ' déterminer sa taille ' Set Picture1.Picture = LoadPicture("c:image.bmp")
' Redimensionne le contrôle Image en fonction ' des dimensions du PictureBox ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Picture1.Width, _ Picture1.Height)
' On affiche l'image du PictureBox ' dans le contrôle Image ' Set Image1.Picture = Picture1.Picture
' On retire l'image du PictureBox afin ' d'économiser un peu de mémoire.. ' Set Picture1.Picture = Nothing
' On calcule la proportion de l'image ' La largeur diviser par la hauteur ' m_fProprotion = Image1.Width / Image1.Height
' Le contrôle Slider nous permettra d'agrandir ' ou de diminuer la taille du contrôle Image ' Slider1.Min = 0 Slider1.Max = Slider1.Width Slider1.Value = Image1.Width
' Initialise la position des contrôles sur le formulaire ' Call SetControlsPosition
End Sub
Private Sub Slider1_Change()
' Vérifie si la proportion à été définie ' (après le Form_Load) afin d'éviter ' une division par 0 ' If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image ' en fonction de la taille sélectionnée ' à l'aide du slider.. ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Slider1.Value, _ Slider1.Value / m_fProprotion) End If End Sub
Private Sub Slider1_Scroll()
' Vérifie si la proportion à été définie ' (après le Form_Load) afin d'éviter ' une division par 0 ' If (m_fProprotion > 0) Then
' On redimensionne le contrôle Image ' en fonction de la taille sélectionnée ' à l'aide du slider.. ' Call Image1.Move(Image1.Left, _ Image1.Top, _ Slider1.Value, _ Slider1.Value / m_fProprotion) End If End Sub
' Place les contrôles automatiquement ' sur le formulaire.. ' Private Sub SetControlsPosition() Call Me.Move(330, 435, 11835, 6915) Call Slider1.Move(0, 120, 11535, 255) Call Picture1.Move(120, 480, 4560, 2310) Call Image1.Move(120, 480, 4560, 2310) End Sub '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"br" wrote in message news:1b3601c3e01e$8b6b94b0$ Quel est le meilleur controle pour afficher une image (en la redimensionnant tout en gardant les proportions) dans les dimensions du contrôle. Quelles propriétés à positionner pour ça ? Merci