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

VB.NET Discussion :

Dimension d'une image


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut Dimension d'une image
    Bonjour à tous,

    J'ai besoin de récupérer par le code la hauteur et largeur d'un fichier .bmp.

    Du coup j'ai fait une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function DimensionAffiche(ByVal NumImage As Object, ByVal CategorieImage As String, ByVal LouH As String) As Integer
     
            'Déclare une variable pour recevoir l'image recherchée et le résultat
            Dim Image As New PictureBox
            Dim Resultat As Integer
            Image.ImageLocation = CheminFichier(NumImage, CategorieImage)
            Resultat = If(LouH = "L", Image.Size.Width, Image.Size.Height)
            Image.Dispose()
            Return Resultat
     
        End Function
    En fait, je me demande s'il n'existe pas une autre méthode, une autre façon de faire, un moyen plus rapide et plus optimisé en temps processeur.

    Merci pour vos commentaires.

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,
    Attention,il y a PictureBox.Size et PictureBox.Image.Size.
    Je ne suis pas sûr de bien comprendre quel Size tu lis avec ton code.
    Par ailleurs, je ne vois pas ce qui pourrait être plus rapide que de lire les valeurs du Size. Mais je n'ai que peu d'expérience du travail avec les images...

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Bonjour Phil Rob,

    En fait, je charge une image .bmp dans une PictureBox temporaire pour récupérer sa largeur .Width et sa hauteur .Heigth.
    Mais je me dis que peut-être il est possible d'avoir ces données sans charger l'image, car en fait après, je ne charge pas l'image, j'en ai pas besoin, juste ses dimensions sans l'afficher.

    C'était dans l'idée de chercher à optimiser le code.

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Jusque-là, j,ai compris mais je crois que tu mesure LE PictureBox et non son image.
    Si c'est ce que tu veux alors tout est bien.

    ....

  5. #5
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Ha ok !

    J'avais vraiment pas compris tes propos.
    J'ai mis le PictureBox en autosize.
    Logiquement il doit s'adapter à l'image, non ?
    Donc avoir la dimension de l'image ?
    Ou j'ai rien compris? Fort possible ça

  6. #6
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Vois la discussion du 7/4 initiée par Sam Placi : Différence entre PictureBox1.Size et PictureBox1.Image.Size.
    Il n'y a aucun rapport entre les 2.
    Tu peux aussi voir les dimensions de l'image dans ses propriétés sur ton Smartphone ou ton appareil photos et constater que beaucoup de photos ne pourraient pas être affichées dans le PictureBox qui occuperait tout ton écran, si ces 2 mesures concernaient la même chose
    Je crois que ton code mesure le contrôle PictureBox, éventuellement agrandi, mais cela n'a rien à voir avec le Size des propriétés de l'image.
    ...

  7. #7
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Merci Phil Rob,

    On apprend toujours.
    C'est intéressant.
    Je vais lire ton lien.

    En attendant, j'ai écrit cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Function DimensionsImage(ByVal Chemin As String, ByVal LouH As String) As Integer
     
            If LouH = "L" Then
                Return Drawing.Image.FromFile(Chemin).Size.Width
            Else
                Return Drawing.Image.FromFile(Chemin).Size.Height
            End If
     
     
        End Function
    Tu en penses quoi ?

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Effectivement, là, il devrait s'agir des dimensions de l'image et non d'un PictureBox. Il te suffit de comparer les réponses de ton code de tout à l'heure avec celles de celui-ci pour voir la différence.
    ...

  9. #9
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Merci Phil Rob

  10. #10
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Phil Rob !

    Tu avais raison, mais je pense que tu ne te doute pas à quel point tu avais juste !
    J'ai fait le test que tu m'as proposé, c'est effarant (preuve en image) :

    Nom : Sans titre.jpg
Affichages : 143
Taille : 85,5 Ko

    C'est hallucinant le résultat !
    J'en reviens toujours pas !

    Pour moi, mais ce n'est que mon avis, c'est vraiment de l'arnaque...
    Ils disent autosize... Même en étant pas très calé en anglais, ca veut dire quand même qu'il s'adapte à l'image automatiquement...
    Rien dans la librairie Microsot... qui précise cela...

    Encore des semaines de recherches et de doutes de perdues car pas de précision là-dessus...
    Ca m'écœure un peu.

    Désolé pour mon énervement, je ne suis pas comme cela d'habitude...

    Merci encore à toi en tout cas.

  11. #11
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Par doute, je viens d'essayer tous les ModeSize sur le PictureBox...
    C'est pas folichon...

    En gros, ce que je comprends, c'est qu'il faut récupérer les dimensions réelles de l'image, puis dimensionner le PictureBox et enfin afficher l'image...
    Bonjour les manipulations t le temps processeur.

    Quand penses-tu ?

  12. #12
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,
    Il n'y a pas d'arnaque, c'est à nous de comprendre la portée de ces propriétés. Elles servent "à dire" si on veux rogner l'image pour qu'elle entre dans le cadre, ou si on veux agrandir ce cadre (dans les limites de l'écran), ou encore si on veut "zoomer" l'image pour qu'elle soit entièrement représentée dans le PictureBox.
    Bref, on peut faire tout ce qu'on veut, ou presque ...
    Attention à ton dernier message : je crois que le plus souvent, tu ne pourras pas créer de PictureBox aussi grand que suggéré par les dimensions de l'image. A tester...

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 573
    Par défaut
    Autre solution lire les données directement dans le fichier bmp: il y a dans son entête les informations relatives aux dimensions de l'image
    https://www.apprendre-en-ligne.net/i.../formatbmp.pdf (il suffit de lire au maximum les 256 premiers octets du fichier et traiter ces octets pour en extraire les dimensions)

  14. #14
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Par défaut
    Merci umfred pour le document.

    C'est très intéressant. Je l'ai gardé dans mes docs.
    Je vais voir comment lire me fichier et récupérer les infos.

    Bien à toi,

Discussions similaires

  1. [ImageMagick] Obtenir les dimensions d'une image externe?
    Par Death83 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/01/2006, 09h57
  2. [Image] Connaitre les dimensions d'une image sans la charger
    Par FredN dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 16/01/2006, 12h06
  3. changer la dimension d'une image dans un tableau
    Par robocop2776 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/10/2005, 15h20
  4. [VB6] [Graphisme] Dimensions d'une image au saving
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2002, 19h09

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