Je veux simplement récupérer les dimensions d'un bmp sans l'ouvrir.
Il y a longtemps j'ai vu passer une discussion là-dessus et sais que c'est aisé... pour ceux qui savent...
Si l'un de ceux-ci est vous, merci de partager votre savoir![]()
Je veux simplement récupérer les dimensions d'un bmp sans l'ouvrir.
Il y a longtemps j'ai vu passer une discussion là-dessus et sais que c'est aisé... pour ceux qui savent...
Si l'un de ceux-ci est vous, merci de partager votre savoir![]()
Les déclarations suivantes:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Type BITMAPFILEHEADER bfType As Integer bfSize As Long bfReserved1 As Integer bfReserved2 As Integer bfOffBits As Long End Type
et éventuellement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Type BITMAPINFOHEADER biSize As Long biWidth As Long '<-------------- biHeight As Long '<-------------- biPlanes As Integer biBitCount As Integer biCompression As Long biSizeImage As Long biXPelsPerMeter As Long biYPelsPerMeter As Long biClrUsed As Long biClrImportant As Long End Type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Type RGBQUAD rgbBlue As Byte rgbGreen As Byte rgbRed As Byte rgbReserved As Byte End Typeouvert en binaire, dans BMPInfoHeader on pourrait tirer les informations sur la taille du fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Open "LEFICHIER.BMP" For Binary Access Read Write Lock Write As #1 Dim BMPFileHeader As BITMAPFILEHEADER Dim BMPInfoHeader As BITMAPINFOHEADER Get #1, 1, BMPFileHeader Get #1, , BMPInfoHeader ...
Je ne prétend pas maitriser cela; c'était pour ma lecture
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Largeur = BMPInfoHeader.biWidth Hauteur = BMPInfoHeader.biHeight
Je ne fais pas partieSi l'un de ceux-ci est vous
Si si ! Je ne sais pas ce que tu lis mais c'est parfait, et du premier coup. Pour les dimensions on n'a simplement pas besoin de ça.Je ne prétend pas maitriser cela; c'était pour ma lecture
Je ne fais pas partieSi l'un de ceux-ci est vousUn grand merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Type RGBQUAD rgbBlue As Byte rgbGreen As Byte rgbRed As Byte rgbReserved As Byte End Typeplus besoin de coller les images dans une feuille de calculs pour avoir ses dimensions à utiliser dans un userform
Edit
Pour l'utilisation que j'en fais, le code de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Function Mesurer(NomFich As String) As Variant Dim BMPFileHeader As BITMAPFILEHEADER Dim BMPInfoHeader As BITMAPINFOHEADER Open NomFich For Binary Access Read Write Lock Write As #1 Get #1, 1, BMPFileHeader Get #1, , BMPInfoHeader Mesurer = Array(BMPInfoHeader.biWidth, BMPInfoHeader.biHeight) Close #1 End Function
Partager