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

Interfaces Graphiques Discussion :

ajuter une image dans un coin d'une figure


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 87
    Points : 46
    Points
    46
    Par défaut ajuter une image dans un coin d'une figure
    bonjour,

    Sur une IHM existante crée avec les commandes de base de matlab R2019b (pas avec guide) je dois ajouter dans un coin une petite image.
    mon image est un fichier PNG que je peux lire avec une commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Image=imread('Image.png');
    ce qui me donne une matrice 130*160*3 dans mon cas

    je n'arrive pas à mettre cette image dans mon axe existant à une position maitrisée.

    la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HandleImage=image(Image);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HandleImage=image(Image,'XData',Xpos,'YData',Ypos);
    semble créer un nouvel axe spécifique à cette image et qui occupe toute ma figure avec en plus l'axe Y inversé (de haut en bas pour Y croissant)

    cet axe masque mon IHM existante

    j'ai essayé de mettre l'image (et son axe) au début de la création de l'IHM, ainsi mon IHM réapparait, mais je ne trouve pas de solution pour mettre l'image à une position cohérente et sans déformation.

    je dois mal m'y prendre certainement.
    peut être faut il considérer mon fichier png comme un objet différent d'une image ?

    Merci de m'aider
    Cata

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Tu dois passer l'identifiant (handle) de l'objet Axes en premier paramètres de la fonction image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HandleImage = image(ax, Image);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    Bonjour Mr Briot
    Merci pour la réponse

    Je n'ai pas réussi à mettre en oeuvre cette solution.
    Selon les tests que j'ai fait, en mettant le handle de l'axe en premier paramètre de la fonction image, je n'arrive pas à éviter que l'image occupe toute la surface de l'axe, quelle que soit les valeurs des second et troisième paramètres censés indiquer la zone que doit occuper l'image. je dois fair eune erreur de syntaxe ou autre...
    Les tests sont dans le fichier joint (qui est un exemple séparé de mon projet). Le fichier est renommé en .txt car les fichiers .m ne passe pas avec l'utilitaire de chargement du site
    j'ai mis aussi une petite image qui est celle appelée par le script.
    le code qui marche est actif
    les codes qui ne fonctionnent pas sont en commentaires


    Pour le projet en cours j'ai contourné le problème en définissant un axe spécifique à l'image et dont je choisis la position exacte. L'image occupe ensuite tout l'espace de cet axe mais se trouve bien à l'endroit souhaité. Cette façon de faire est décrite dans le fichier joint (le dernier cas qui fonctionne). Mon projet n'est pas bloqué.

    Mais comme le comportement de la fonction image n'est pas celui que je comprends à la lecture de la documentation, je laisse la question ouverte pour l'instant.

    Merci pour votre aide
    Cordialement
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Image dans le coin de chaque page
    Par Williamm dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 27/08/2011, 08h17
  2. images dans les coins d'un texte
    Par Cinorian dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 12/03/2010, 11h00
  3. Image dans le coin d'une fenetre
    Par labrute dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 13/05/2008, 17h38
  4. Réponses: 2
    Dernier message: 18/12/2005, 19h02
  5. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44

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