Prog1001
Messages postés56Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention22 septembre 2009
-
7 avril 2005 à 21:06
Prog1001
Messages postés56Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention22 septembre 2009
-
8 avril 2005 à 03:14
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 ?
Prog1001
Messages postés56Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention22 septembre 2009 7 avril 2005 à 23:07
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
voilà il y a peut etre d'autre méthodes plus simple, mais il est interessant pour un programmeur de savoir ce qu'est gdi+ et de s'initier à s'en servir.