comment afficher une image à un endroit spécifié d'un axe ?

3 vues (au cours des 30 derniers jours)
daniel Monterrain
daniel Monterrain le 24 Août 2024
Modifié(e) : Mathieu NOE le 27 Août 2024
Bonjour
je tente d'afficher une image png avec la commande image à un endroit spécifié d'un axe, en utilisant la fonction image
ca ne fonctionne pas, l'image s'affiche mais occupe la totalité de la surface de l'axe, quel que soient les valeur des paramètre 2 et 3 qui sont cnesés spécifier la position sur l'axe.
l'example joint montre les essais réalisés (avec seulment des syntaxe acceptées)
la solution de contournement est de créer un nouvel axe qui occupe la zone ou je veux faire apparaitre mon image.
quelle est mon erreur dans l'utilisation de image ?
tester en R2019n et R2016b avec le même résultat.
Merci

Réponses (1)

Mathieu NOE
Mathieu NOE le 27 Août 2024
Modifié(e) : Mathieu NOE le 27 Août 2024
hello Daniel
you need to freeze your axes , otherwise you will not get the desired results
here I simply used "hold on" after the axes generation, but you may also set the axes properties like : Sets XLimMode , YLimMode , and ZLimMode to 'manual';
figure;
% test of the image fuction with matlab R2019b
Haxe=axes('position',[0 0 1 1],'Xlim',[0 500],'Ylim',[0 500]);
hold on % freeze axes !!
line([0 500],[0 500]); % Crée une croix sur mon axe
line([500 0],[0 500]);
rectangle('position',[200,200,100,100],'facecolor','r'); %cree un rectangle rouge "centré" sur la croix
% the goal is tu put the image exactly whereis the red square
MonImage=imread('MonImage.png'); % l'image png est de taille [100 100]
% essai 2
Xpos=[200 300];
Ypos=[200 300];
MonHandle=image(Xpos,Ypos,MonImage);

Tags

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!