IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer les caractéristiques d'un fichier.bmp - Largeur + hauteur de l'image


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    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

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Les déclarations suivantes:
    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
    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
    et éventuellement:
    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 Type
    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
    ...
    ouvert 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
    Largeur = BMPInfoHeader.biWidth
    Hauteur = BMPInfoHeader.biHeight
    Je ne prétend pas maitriser cela; c'était pour ma lecture
    Si l'un de ceux-ci est vous
    Je ne fais pas partie

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je ne prétend pas maitriser cela; c'était pour ma lecture
    Si l'un de ceux-ci est vous
    Je ne fais pas partie
    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.
    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 Type
    Un grand merci plus 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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/08/2009, 15h59
  2. Récupérer les infos d'un fichier .jpeg
    Par ArseNic dans le forum Multimédia
    Réponses: 3
    Dernier message: 05/10/2005, 15h08
  3. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  4. [VB.NET] Récupérer les caractéristiques d'une couleur
    Par leSeb dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/08/2004, 15h03
  5. Récupérer les infos sur un fichier audio
    Par Halleck dans le forum Windows
    Réponses: 13
    Dernier message: 17/04/2004, 18h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo