Obtenir dimensions d'un fichier image

cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 4 déc. 2010 à 10:09
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 4 déc. 2010 à 17:43
Bonjour,
Les fichiers image (bmp, jpg et tif) contiennent un certain nombre d'informations sur leurs caractéristiques et notamment leurs dimensions (p.e. 2000x2000).
Je voudrais créer un module qui me fournisse ces dimensions quel que soit le format du fichier image.
J'ai bien cherché sur ce site mais aucune des solutions proposées ne m'a paru très satisfaisante, tout particulièrement en langage VB6.
N'existerait-il pas une fonction API telle que GetImageDimension()?
Merci pour votre aide.
Jacques13

3 réponses

alcyde01 Messages postés 10 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 4 décembre 2010
4 déc. 2010 à 11:17
Bonjour, voici un lien sur le format BMP
http://www.commentcamarche.net/contents/video/format-bmp.php3#entete-bitmap

et un autre lien pour l'exif (pour jpeg et tiff)
http://fr.wikipedia.org/wiki/Exif

en esperant que ca te soit utile
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
4 déc. 2010 à 13:21
Bonjour a vous deux,

Juste pour compléter les liens d'alcyde01
http://files.codes-sources.com/fichier.aspx?id=16929&f=BMP.bas

Cette source permet d'extraire toutes les infos d'un BMP, même le tableau correspondant aux points, certe sans passer par les APIs mais tu peux surement modifier la source et l'adapter a tes besoins.
CGSI3
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013
4 déc. 2010 à 17:43
Finalement j'ai trouvé une solution à mon problème.
Il s'agit d'un bout de code tout simple de PCPT:
Option Explicit
Private Sub Form_Load()
Dim lWidth&, lHeight&
Call GetPicSize(Me, "d:\a\83-2008-0975-6265-LA93-C07.jpg", lWidth, lHeight, vbPixels)
MsgBox lWidth & " x " & lHeight
Unload Me
End Sub
Sub GetPicSize(Frm As Form, sPath As String, ByRef lWidth As Long, ByRef lHeight As Long, Optional iScale As Integer = vbTwips)
Dim ObjStd As New StdPicture
Set ObjStd = LoadPicture(sPath)
lWidth = Me.ScaleX(ObjStd.Width, vbHimetric, iScale)
lHeight = Me.ScaleY(ObjStd.Height, vbHimetric, iScale)
Set ObjStd = Nothing
End Sub
Merci à lui et à Alcyde01 et CGSI3 pour leurs réponses.
0
Rejoignez-nous