Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Interfaces Graphiques
Interfaces Graphiques Forum d'entraide sur les interfaces graphiques en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 14h53   #1
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : mars 2010
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 60
Points : 25
Points : 25
Par défaut Remplacement de Background

Bonjour,

J'ai définie une zone de text non éditable sur un fenêtre me servant d'interface... Pour une raison esthétique je voudrai remplacer le background de ma zone de texte par celui qui a caché par celle ci (donc un bout d'image). Mais lors de son insertion j'ai le problème suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
% TEXT DOCTEUR 
strDocteurG=sprintf(' Docteur :\nHopital : ');
img=img1(1:10,1:10);

Text_DocteurG = uicontrol(gcf, ... 
            'style', 'text', ... 
    'position',[ 5 370 60 30 ],... 
    'BackgroundColor','white',...
    'string',strDocteurG);


set( Text_DocteurG, 'BackgroundColor', img);
Code :
1
2
3
4
5
6
7
Error using set
Color value must be a 3 element
numeric vector

Error in oct_SPECTRALIS (line 108)
set( Text_DocteurG, 'BackgroundColor',
img);
Une idée ?
TheDwarf01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 15h09   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Bonjour,

La propriété à fixer pour cela est 'CData', mais elle n'est malheureusement disponible que sur les objets de type Pushbutton, ToggleButton, Radiobutton et Checkbox.
Petit aperçu de la documentation:
Citation:
Envoyé par uicontrol properties
CData
matrix

Truecolor image displayed on control. A three-dimensional matrix of RGB values that defines a truecolor image displayed on a control, which must be a push button or toggle button. Each value must be between 0.0 and 1.0. Setting CData on a radio button or checkbox will replace the default CData on these controls. The control will continue to work as expected, but its state is not reflected by its appearance when clicked.

For push buttons and toggle buttons, CData overlaps the String. In the case of radio buttons and checkboxes, CData takes precedence over String and, depending on its size, it can displace the text.

Setting CData to [] restores the default CData for radio buttons and checkboxes.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 15h11   #3
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : mars 2010
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 60
Points : 25
Points : 25
Donc pour une zone de texte, c'est impossible ...
TheDwarf01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 21h16   #4
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 919
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 919
Points : 15 909
Points : 15 909
Tu peux remplacer l'objet Uicontrol par un couple Axes+Text

Code :
1
2
3
4
5
6
7
8
strDocteurG = sprintf(' Docteur :\nHopital : ');
img = rand(10,10,3);

ax = axes('units','pixel','position',[ 5 370 60 30 ],...
    'visible','off','nextplot','add');

image(img,'parent',ax);
text(1,1,strDocteurG,'verticalalignment','bottom')
__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• 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)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h59.


 
 
 
 
Partenaires

Hébergement Web