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
|
Public Sub PageFreqimg_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
' Lorsque l'utilisateur relâche le clic, enregistrez les coordonnées de fin
If SelectionEnCours = 2 _
Then
SelectionEnCours = 0
X2 = X
Y2 = Y
End If
' Copie et sauvegarde de la zone sélectionnée en tant qu'image JPEG
Dim FicCible As String
FicCible = RepExport & "\" & ActionOCR & ".jpg"
CopierEtSauvegarderSelection FicCible '<w=================== appel
'............................................ reste du code
Public Sub CopierEtSauvegarderSelection(FicCible As String)
' Vérifiez si les coordonnées de début et de fin de la sélection sont valides
If X1 = 0 Or Y1 = 0 Or X2 = 0 Or Y2 = 0 Then
MsgBox "Please select an area to copy first.", vbExclamation
Exit Sub
End If
' Créez un objet GdPicture
Dim gdPicture As Object
Set gdPicture = CreateObject("GdPicture.GdPicture.10") '<============== le probleme est là, j ai meme essayé de passer par un userformtemporaire :arf::arf:
' Chargez l'image source
Dim imagePath As String
imagePath = PageFreqimg.Picture
If gdPicture.LoadFromFile(imagePath) = 0 Then
MsgBox "Unable to load the image.", vbExclamation
Exit Sub
End If
' Calculez les coordonnées de la zone sélectionnée
Dim width As Long
Dim height As Long
width = X2 - X1
height = Y2 - Y1
' Copiez la zone sélectionnée
gdPicture.Crop X1, Y1, width, height
' Enregistrez la zone sélectionnée en tant qu'image JPEG
If gdPicture.SaveAsJPEG(FicCible, 75) = 0 Then
MsgBox "Error while saving the image.", vbExclamation
Else
MsgBox "The selection has been copied and saved as a JPEG image.", vbInformation
End If
' Libérez les ressources de GdPicture
gdPicture.CloseImage
Set gdPicture = Nothing
End Sub |
Partager