Réponse acceptée !
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--*