Chargement im ds picturebox sans deformation (fonction)

Contenu du snippet

Voila une fonction a mettre dans un module pour charger une image dans un picturebox en utilisant la fonction stretch(comme le ctrl image) et en gardant le rapport H*L + centrage!!

3 Arguments:
Chemin : le chemin de l'image ex c:\\\\image.jpg
Destination : le picturebox de destination
Centrage : True, false si omis true!!!!

Ex : ChargeImage "c:\\image.jpg", Picture1, False
Une alternative intéréssante au loadpicture pour les débutants!!??

Source / Exemple :


'Dans un module
Public Function ChargeImage(Chemin As String, Destination As PictureBox, Optional Centrage As Boolean = True)
Dim Pic As StdPicture
Set Pic = LoadPicture(Chemin)
Destination.AutoRedraw = True
'si la taille est plus petite que la picturebox
If Pic.Width < Destination.Width And Pic.Height < Destination.Height Then
Coeff = 1
X = (Destination.Width - Pic.Width) / 2
Y = (Destination.Height - Pic.Height) / 2
GoTo Affiche_image
End If
'definition du coefficient selon l'orientation de l'image
If Pic.Width > Pic.Height Then
    Coeff = Pic.Width / Destination.Width
    X = 0
    Y = (Destination.Height - (Pic.Height / Coeff)) / 2
Else
    Coeff = Pic.Height / Destination.Height
    X = (Destination.Width - (Pic.Width / Coeff)) / 2
    Y = 0
End If
Affiche_image:
Destination.Cls
NewLargeur = Pic.Width / Coeff
NewHauteur = Pic.Height / Coeff
If Centrage = True Then
Destination.PaintPicture Pic, X, Y, NewLargeur, NewHauteur
Else
Destination.PaintPicture Pic, 0, 0, NewLargeur, NewHauteur
End If
End Function

'Dans la form Pour charger l'image
ChargeImage "c:\\image.jpg", Picture1, True

Conclusion :


Voila j'éspere que ce code vous sera utile!!!????

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.