récupérer la taille (x et y) d'un fichier image *.png [Résolu]

Signaler
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009
-
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
-
Bonjour tous le monde !

je voudrais savoir comment récupérer la taille (x et y) d'un fichier image *.png
y'a pas une API ?

Merci!

3 réponses

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2009

j'y est pensé, mais je peut pas uiliser de picturebox et en +, la picturebox ne supporte pas le format png

mais on a trouvé la soluce :
on a extrait la taille en exdécimal du fichier png :

Public Type Type_Position
X As Long
Y As Long
End Type


Public Function XYFile(Path As String) As Type_Position
Dim MyStr As String


Open Path For Binary As #1
MyStr = Input(16, #1)
MyStr = Input(13, #1)
XYFile.X = CLng(OtherFormatOfStr(StrReverse(Left(MyStr, 4))))
XYFile.Y = CLng(OtherFormatOfStr(StrReverse(Mid(MyStr, 5, 4))))
Close #1
End Function


Private Function StrToBit(B As Integer) As String
Dim MyStr As String
Dim i As Integer

MyStr = "00000000"

For i = 7 To 0 Step -1
If (B / (2 ^ i)) >= 1 Then
B = B - (2 ^ i)
Mid(MyStr, 8 - i, 1) = "1"
End If
Next i

StrToBit = MyStr
End Function


Private Function BitToStr(MyStr As String, Pos As Integer) As String
Dim Tabl(8) As Currency
Dim i As Integer
Dim A As String
Dim B As Currency

B = 0
Tabl(0) = 2 ^ (Pos * 8)

For i = 1 To 7
Tabl(i) = Tabl(i - 1) * 2
Next i


For i = 1 To 8
A = Mid(MyStr, i, 1) If A 1 Then B B + Tabl(8 - i)
Next i

BitToStr = B
End Function


Private Function OtherFormatOfStr(StrEnter As String) As String
Dim i As Integer
Dim B As Integer
Dim MyStr As String
Dim Sort As Currency


For i = Len(StrEnter) To 1 Step -1
MyStr = Mid(StrEnter, i, 1)
B = Asc(MyStr)
Sort = Sort + Val(BitToStr(StrToBit(B), i - 1))
Next i


OtherFormatOfStr = Sort
End Function

*-- Mkin--*
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
2
Si c'est vraiment urgent, tu place une pictureBox en autosize et invisible et tu charge l'image dedans.

T'auras juste a faire :

Dim iX as integer

Dim iY as integer



iX = picPng.width

iY = picPng.height

-=Ar$£nik=-
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
2
Autant pour moi


Si tu peux, dépose ta source après l'avoiur fini, sa va aider beaucoup de gens

-=Ar$£nik=-