Copiez ce code dans la form principale et lancez.
Vous pouvez améliorer ce code, c'est juste pour donner des idées ou pour vous simplifier la vie.
Source / Exemple :
Private Sub cmdExecute_Click()
'Dim XPos, YPos As Variant
'Dim Table(4215, 4335) As Variant
'For XPos = 0 To picMain.Width
'For YPos = 0 To picMain.Height
'picMain.PSet (XPos, YPos), RGB(10, 10, 10)
'Next
'Next
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdParam_Click()
Select Case cboFiltre
Case "Eroder l'image"
frmParam.Visible = True
frmEroder.Show
'trouver une routine pour l'affichage
'de la bonne feuille dans la MDI
Case "Tracer les contours"
frmParam.Visible = True
frmParam.Caption = frmParam.Caption + " (Tracer les contours)"
Case "Eclaircir l'image"
MsgBox ("Vous avez choisi le 2")
Case "Foncer l'image"
MsgBox ("Vous avez choisi le 3")
Case "Affiner l'image"
MsgBox ("Vous avez choisi le 4")
Case "Déceler les formes"
MsgBox ("Vous avez choisi le 5")
End Select
End Sub
Private Sub cmdSave_Click()
cdTreatment.ShowSave
End Sub
Private Sub cmdTreatment_Click()
picMain = LoadPicture()
cdTreatment.Filter = "Images (*.jpg;*.jpeg)|*.jpg;*.jpeg|Images (*.gif)|*.gif|Images (*.bmp)|*.bmp"
' Spécifie le filtre par défaut.
cdTreatment.FilterIndex = 1
cdTreatment.ShowOpen
'déclaration des variables de dimensions
Dim width1, height1, width2, height2 As Integer
Dim ratio As Integer
'déclaration des variables de positions
Dim X, Y As Integer
'déclaration d'une variable conteneur de la photo en cours
Dim progress As Image
width1 = LoadPicture(cdTreatment.filename).Width
height1 = LoadPicture(cdTreatment.filename).Height
width2 = picMain.Width
height2 = picMain.Height
If width1 > width2 Then
If height1 > height2 Then
If width1 > height1 Then
ratio = width1 / width2
width1 = width2
height1 = height1 / ratio
ElseIf height1 > width1 Then
ratio = height1 / height2
height1 = height2
width1 = width1 / ratio
End If
End If
End If
X = ((picMain.Width / 2) - (width1 / 2))
Y = ((picMain.Height / 2) - (height1 / 2))
Clipboard.Clear
Clipboard.SetData LoadPicture(cdTreatment.filename)
picMain.PaintPicture Clipboard.GetData, X, Y, width1, height1
End Sub
Private Sub Form_Load()
'Création de la liste à choix des filtres (fixes)
cboFiltre.AddItem "Eroder l'image", 0
cboFiltre.AddItem "Tracer les contours", 1
cboFiltre.AddItem "Eclaircir l'image", 2
cboFiltre.AddItem "Foncer l'image", 3
cboFiltre.AddItem "Affiner l'image", 4
cboFiltre.AddItem "Déceler les formes", 5
'Fin de la création de la liste à choix des filtres
'Cache les contrôles encore non exploités
cboFiltre.Visible = False
cmdExecute.Visible = False
cmdParam.Visible = False
cmdSave.Visible = False
cmdZoom.Visible = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
Clipboard.Clear
End Sub
Private Sub tmrGauge_Timer()
If shpGauge.Top >= 0 Then
shpGauge.Top = -5295
End If
End Sub
Private Sub tmrRefresh_Timer()
picGauge.Refresh
End Sub
Conclusion :
Utilise le presse-papier et recalibre les dimensions pour avoir l'intégralité dans l'espace de visualisation. Rien de bien sorcier.
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.