OVH Cloud OVH Cloud

Connaitre la taille d'une image.

3 réponses
Avatar
Laurent GOSSET
Pour afficher une image ( sélectionnée dans un dossier du disque dur ) dans
un Userform, je souhaite connaitre sa taille ( largeur, hauteur) pour
l'ajuster à la taille du champ image si elle est trop grande, et l'aficher
en taille réelle si elle est plus petite que le champ image.

Merci d'avance

3 réponses

Avatar
Michel Pierron
Bonsoir Laurent;
Dis nous d'abord quel type d'image (gif ou jpeg ou autre...)
Sinon, tu peux jouer avec la propriété PictureSizeMode du contrôle Image
pour ajuster l'image au contrôle.
MP

"Laurent GOSSET" a écrit dans le message de
news:41eaa50a$0$31525$
Pour afficher une image ( sélectionnée dans un dossier du disque dur )
dans

un Userform, je souhaite connaitre sa taille ( largeur, hauteur) pour
l'ajuster à la taille du champ image si elle est trop grande, et l'aficher
en taille réelle si elle est plus petite que le champ image.

Merci d'avance




Avatar
michelxld
bonsoir Laurent , bonsoir Michel

tu peux tester cette macro pour obtenir les dimensions d'une image

Sub dimensionsImage()
'testé avec Excel2002 & WinXP
'necessite d'activer reference Microsoft Shell Controls and Automation
Dim objShell As Shell
Dim objFolder As Folder
Dim strFileName As FolderItem
Dim Fichier As String, Cible As String
Dim Rep As Integer

Fichier = Application.GetOpenFilename

Rep = 1
Do Until Rep = 0
Cible = Rep: Rep = InStr(Rep + 1, Fichier, "")
Loop


Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(Left(Fichier, Cible - 1))
Set strFileName = objFolder.Items.Item(Right(Fichier, Len(Fichier) - Cible))

MsgBox objFolder.GetDetailsOf(strFileName, 26)

End Sub


bonne soiree
michel



Pour afficher une image ( sélectionnée dans un dossier du disque dur ) dans
un Userform, je souhaite connaitre sa taille ( largeur, hauteur) pour
l'ajuster à la taille du champ image si elle est trop grande, et l'aficher
en taille réelle si elle est plus petite que le champ image.


Avatar
Michel Pierron
Re Laurent;
Si tu as xp:

Sub Test()
MsgBox GetProperties("c:windowsclock.avi"), 64
End Sub

Private Function GetProperties(ByVal FullPathFile$) As String
If Dir(FullPathFile) = "" Then Exit Function
Dim PathFile$, FileName$, i%, Info$
Dim oFolder As Object, oItem As Object
i = lPos(FullPathFile, "")
PathFile = Left$(FullPathFile, i - 1)
FileName = Mid$(FullPathFile, i + 1)
Set oFolder = CreateObject("Shell.Application") _
.NameSpace(CStr(PathFile))
If oFolder Is Nothing Then Exit Function
With oFolder
Set oItem = .ParseName(CStr(FileName))
If oItem Is Nothing Then GoTo 1
For i = 0 To 34
If Len(.GetDetailsOf(oItem, i)) Then
GetProperties = GetProperties & .GetDetailsOf(oFolder, i) & ": "
GetProperties = GetProperties & .GetDetailsOf(oItem, i) & vbLf
End If
Next
End With
1: Set oItem = Nothing: Set oFolder = Nothing
End Function

Private Function lPos%(Chain$, Char$)
Dim iPos As Integer
Do
iPos = InStr(lPos + 1, Chain, Char, 1)
If iPos Then lPos = iPos Else Exit Do
Loop
End Function

MP

"Laurent GOSSET" a écrit dans le message de
news:41eaa50a$0$31525$
Pour afficher une image ( sélectionnée dans un dossier du disque dur )
dans

un Userform, je souhaite connaitre sa taille ( largeur, hauteur) pour
l'ajuster à la taille du champ image si elle est trop grande, et l'aficher
en taille réelle si elle est plus petite que le champ image.

Merci d'avance